使用.htaccess禁用子目录php / access

时间:2012-12-17 03:20:50

标签: php .htaccess security

我正在建立一个网站,人们可以将文件上传到特定的子目录。万一有人能够绕过过滤器上传潜在的恶意(可能是php)文件,我想知道是否有可能使恶意代码无法访问。我正在研究两种不同的方法。

第一个是查看是否有办法制作它,这样您就无法通过在浏览器中输入文件URL来访问子目录中的任何文件(www.example.com/images/blahblah.jpg),但是链接到<img src=images/blahblah.jpg />

时文件仍然正常显示

实现此目的的第二种方法可能是使用.htaccess文件禁用子目录中的php。我试过php_admin_flag engine off

php_flag engine off

RemoveHandler .php RemoveType .php php_flag engine off Options -ExecCGI

但每次尝试都不执行任何操作,或禁用目录中的所有内容。有没有理由这些不起作用?使用.htaccess禁用php或保护目录的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以将有关上传文件的元数据保存在Db中,并将内容存储在自定义扩展文本文件中。例如,上传的所有内容都可以存储为1.ext或file.my或根本不存在扩展名。当请求文件时,您将只读取并转储其内容。添加到此将重命名所有上传的文件。

您还可以将原始文件保留在文档根目录(及其子目录)之外,并在.htaccess的帮助下将所有请求转发到单个文件,然后调用entrance.php然后该php文件将只读取该文件转储其内容或发布404(如果未找到)或不允许的类型。

希望它有所帮助。