我允许人们上传他们的项目文件,我加强了我的安全性,但我只需要简单点。如何停止执行他们上传的子目录中的任何文件?
我在考虑.htaccess
但是我需要为每个新子目录生成一个(我认为),我是否需要废弃当前代码并使用.php
文件将标头发送到强制DL文件而不是运行?
您认为这是一个简单而安全的解决方案吗?它只是上传到像uploads/~foo/bar.html
之类的子目录,它看起来很漂亮,所以如果它能保持这种格式就好了。
答案 0 :(得分:0)
将其放入uploads/.htaccess
:
RemoveType application / x-httpd-php .php
这适用于所有子文件夹。还要确保您不解析用户文件夹中的.htaccess。这可以通过主服务器配置中的AllowOverride None
来完成,也可以通过不允许首先上传.htaccess文件来完成。
答案 1 :(得分:0)
例如,如果这些上传的文件位于“uploads”目录及其子目录中:
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_URI} \.php [NC]
RewriteCond %{REQUEST_URI} \/uploads\/
RewriteRule ^(.*)$ index.php [F,L]