通常,我尝试将我的文件夹设置为拥有权限775,但是某些web主机拒绝让PHP写入或将文件移动到任何文件夹,除非它具有权限777(可能是open_dir或安全模式)。
有没有办法阻止从这些文件夹中运行任何PHP文件,以防恶意PHP脚本上传到那里?
答案 0 :(得分:6)
具有777权限的文件夹是不可原谅的危险。 查找姓名为web host
的其他会员
实际上,如果您的主机不需要777,请找到其他主机 它是可写的。实际上,如果PHP脚本可以写入一个文件夹 是755(suexec,suPHP),这实际上与拥有所有文件夹相同 777.所以,为了安全起见,你想要的是一个需要777的主机 使文件夹可写。
以这种方式思考 - 默认情况下,几乎所有文件夹都是755。如果脚本 可以写入755个文件夹,这意味着任何脚本都可以写入任何文件夹!
如果脚本只能写入777个文件夹,则表示只能写入 到他们应该的文件夹。如果你要允许写入 所有目录,他们可能都是777,所以这是不可原谅的 危险。
一位有执照的安全专业人员的意见,只有十五年 经验。
答案 1 :(得分:2)
有没有办法阻止从这些文件夹中运行任何PHP文件,以防恶意PHP脚本上传到那里?
您可以为该目录禁用PHP。见this answer.
答案 2 :(得分:0)
原问题的答案......这很容易。在 .htaccess 中使用 php_value auto_prepend_file 即可。只需创建一个终止[ die()函数的简单脚本,在 .htaccess 中定义它;从这样的目录调用的每个PHP脚本都不会被执行。您甚至可以配置“kill”脚本,以便在每次发生可疑事件时(当某些事情试图从“受保护”目录调用PHP脚本时)向您发送电子邮件。
答案 3 :(得分:0)
禁用脚本执行您还可以尝试在所有文件所在的上载文件夹中禁用脚本执行。您可以通过在文件夹上写一个.htacess文件来完成此操作。
AddHandler cgi-script .php .php3 .php4 .phtml .pl .py .jsp .asp .htm .shtml .sh .cgi
选项-ExecCGI