我的网站上有一个目录,用于存储用户上传的文件。我对上传的文件类型使用白名单,并使用散列名称保存文件,但从我读到的另一个好的安全预防措施是停止目录中的脚本执行。我还想防止直接访问目录中的文件,因为我不希望用户能够下载不属于他们的文件。
我的服务器运行 Linux 和 Apache。以下 .htaccess 文件是否适合我想要实现的目标?
order deny,allow
deny from all
<FilesMatch .php>
SetHandler None
</FilesMatch>
答案1
你正在寻找这样的东西:
<Directory /path/to/dir>
Order allow, deny
Deny from all
php_admin_flag engine off
</Directory>
前两个指令(Order
和Deny
)(或者2.2或者2.4)应禁止任何人通过 Apache 访问该目录(他们将收到 403 错误)。关闭php_admin_flag
mod_php,考虑到Deny from all
.
另一种可能更优越的方法是在您的 Web 根目录下根本不存在该目录。