草庐IT

SECURITY

全部标签

php - 如何通过密码动态保护文件(图像、视频、zip)不被公开并只允许成员访问?

这是一个常见问题,解决了很多次,但由于某种原因我找不到正确的信息。一些约束和要求:LAMP堆栈技术。精细控制哪些文件可以访问。没有使用htpasswd文件的基本身份验证,我想提供一个自定义登录前端。应该能够安全地保护和提供大型视频文件所有这些网站如何在不使用基本身份验证的情况下保护其文件不被公开?谢谢!类似的问题:Performance-orientedwaytoprotectfilesonPHPlevel? 最佳答案 您通常会将对媒体文件的任何请求重定向到PHP脚本。PHP脚本执行登录身份验证,成功后,从protected位置加载

php - Kohana v3,自动转义非法字符?

快速提问,Kohana(版本3)是否自动转义传递到ORM::factory.....(以及与数据库有关的任何其他地方)的数据?例如:$thread=ORM::factory('thread',$this->request->param('id'));第二个参数中传递的数据在进入SQL查询之前是否会自动转义,还是我必须手动转义?可能是一个愚蠢的问题,安全总比后悔好,但是是的......我通常会手动转义数据,但我想知道Kohana是否为我这样做?谢谢 最佳答案 它是自动转义的。唯一需要担心转义的情况是,如果您正在编写自己的SQL并直接插

php - fopen 在公共(public)软件中使用安全吗?

我正在创建一个Web应用程序,我希望向公众发布该应用程序以便在任何人自己的Web服务器上下载和安装,但是我刚刚被告知某些Web主机禁止在PHP中使用fopen由于到“安全问题”,特别是在共享主机上。我在应用程序的安装过程中使用了fopen,我应该担心这个吗?这是共享主机中的常见做法吗?如果是这样,还有另一种方法可以写入文件吗?我听说过cURL,但这需要最终用户具备更多高级知识,不是吗?如果是这样,这显然是不可预料的。非常感谢! 最佳答案 fopen()永远不会被禁用。然而,php.ini设置“allow_url_fopen”是。因此

php - 在 Drupal 模块中的何处存储敏感信息?

在我创建的模块中,我有一些需要安全存储的敏感信息:远程数据库主机、用户名和密码。似乎唯一可用的存储是在Drupal数据库中,这让我很担心,因为这意味着如果Drupal受到威胁,其他数据库也会受到威胁。sites/all/default中的settings.php文件是我的第二个选择,但我无法写入它。FTP和SSH中针对777和666的各种chmod命令不会打开文件进行写入。我也不确定我在那里设置的变量是否在其他地方可用。有没有其他方法可以安全地存储这些信息? 最佳答案 您使用settings.php的方法是正确的。你可以usethe

php - 是否解析具有多个扩展名的 PHP 文件?

我有通过添加.bak扩展名(file.ext.bak)来制作文件备份的习惯。想象一下,如果我在PHP中有一个配置config.php,并且我想通过添加.bak扩展名来备份该文件,如果客户端不小心以该url结束,该文件是否会被解析或您是否会看到源代码?是否依赖于服务器?我已经在MAMP服务器上尝试了一些测试,但它似乎正在解析 最佳答案 这取决于服务器配置。让浏览器始终可以访问这些文件是一个坏习惯,但如果您愿意,请检查您的httpd.conf中是否有这些行:AddTypeapplication/x-httpd-php.php.phtml

php - 将 PHP 代码存储在数据库中,并在运行时对它进行 eval() 处理,不安全吗?

我构建了一个程序来存储、检索和eval()s来自SQLite数据库的代码。在我因为糟糕的编码习惯而受到指责之前,让我们将其视为理论上的,并假装我这样做有充分的理由。抛开所有其他考虑因素,假设用户输入不是一个因素,将PHP代码存储在数据库中并使用eval()运行它是否存在固有的安全风险?说明:我不是eval()ing用户提交的内容。SQLiteDB文件与我的其他文件位于同一目录中,并且应用了相同的安全性。请不要对性能、缓存等发表评论。我知道所有这些。 最佳答案 eval()本身并不安全。这只是不好的做法,不清楚并且会引发一大堆错误和安

php - 多次加密密码真的更安全吗?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Is“doublehashing”apasswordlesssecurethanjusthashingitonce?所以,我正在阅读一篇关于保护PHP网站的文章,他们建议对密码进行多次哈希处理,事实上,这是直接引用该文章:md4(md4(md5(sha1(md4(md5(sha1(sha1($_POST['password']))))))));现在,就个人而言,我通常在我的密码上使用加盐的SHA-256哈希,因为我认为MD4和MD5不再安全,并且多次对密码进行哈希处理只会给服务器带来太多压力,不实用益处。对吗

php - 为什么 codeigniter2 不以更安全的方式(例如 session )存储 csrf_hash?

为什么生成的CSRF保护token没有像建议的那样通过SESSION保存和使用here?目前在CI2中,CSRF保护机制(Security类)是这样的:1.在_csrf_set_hash()函数中为CSRFtoken生成一个唯一值:$this->csrf_hash=md5(uniqid(rand(),TRUE));2.将该标记插入表单隐藏字段(使用form_open帮助器)3.用户提交表单,服务器通过POST获取token。CI在Input类的“_sanitize_globals()”函数中进行token校验:$this->security->csrf_verify();4.Secur

php - 我可以使用什么替代 HTTP_HOST?

我必须显示当前服务器主机(在PHP中,但这不是很重要)。我不知道我在哪个主机上。如果没有安全问题,我该怎么做?如果我使用$_SERVER['HTTP_HOST'],它来自客户端,所以我不能相信这个信息(我认为它可以重写)。PS:我读过这篇文章:HowreliableisHTTP_HOST?但我没有找到任何回应(也许我没有正确搜索......) 最佳答案 为此目的使用$_SERVER['SERVER_NAME'],来自文档:Thenameoftheserverhostunderwhichthecurrentscriptisexecut

php - 在仅与自身交互的 PHP Web 表单中,什么验证是重要的?

我制作了一个简单的base64解码器形式,它通过文本区域接收输入。我假设输入是base64编码的。如果它不是base64输入,并且出现PHP错误或返回垃圾,我暂时不介意。但是,从安全角度来看,我是否需要对此输入进行任何验证或清理?该页面称为error-decoder.php,它提交给自己,不与数据库或其他任何东西交互。这是整个事情:DecodeOutput:";}?>是否需要做任何事情来保证用户或我的服务器的安全?是否有我需要担心的重要php.ini设置会影响您的回答?我不关心错误或垃圾,除非它会如何影响安全性。感谢您提供这方面的任何信息! 最佳答案