如何防止上传文件被执行?

时间:2011-06-16 07:59:08

标签: apache

如何防止上传文件被执行? 例如,有人可以上传php文件并使用它来破解网站,我想阻止它。

我知道最好的方式是使用目录权限,并将其设置为666?

我能做些什么htaccess魔法?

2 个答案:

答案 0 :(得分:4)

您可以使用以下行将.htaccess放入上传文件夹中:

php_flag engine off

它将在此目录中禁用PHP执行。

编辑回答评论: chmod 666 阻止PHP执行。它只是将文件标记为不可执行,因此您无法直接将它们作为脚本或二进制文件运行。 PHP并不关心文件的权限,只要它是可读的,它就会被引擎解析并执行。

因此,如果您的服务器有多个引擎(PHP,Jelly等),则必须手动构建一个配置文件,以防止文件夹中的文件被解释。您可以创建一个脚本,根据计算机上安装的引擎生成该文件。

答案 1 :(得分:1)

如果使用FTP客户端修改权限并且服务器脚本使用的用户/权限不同(正常的WordPress场景),则权限将不起作用。

如果要避免使用.htaccess进行操作,则可能会有所帮助。

Litespeed服务器版本5.4.10

中进行了测试
scanf()
<Files *.php>
deny from all
</Files>
<Files *.*>
deny from all
</Files>