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

gri*_*ako 6 apache

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

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

有什么我可以做的 htaccess 魔法吗?

use*_*016 5

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

php_flag engine off

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

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

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