我知道有类似的问题,但没有一个能引导我找到正确的解决方案。
我想做什么
在/ uploads文件夹中使用.htaccess可确保只能上传具有适当扩展名的文件。 (例如jpg,png)
我做了什么
修改/etc/httpd/conf/httpd.conf 允许覆盖.htaccess文件
在/ uploads文件夹中创建.htaccess文件
要测试是否已读取.htaccess,我已尝试将垃圾放入.htaccess文件并从浏览器访问它。因此,生成了相应的错误.htaccess文件正常工作。
问题
.htaccess中添加了以下脚本 命令拒绝,允许 否认所有人
但是,我仍然可以将包含任何扩展名的文件上传到/ uploads文件夹。
我尝试过类似帖子的不同建议而没有运气。寻找你们的新方向。
感谢。
答案 0 :(得分:2)
上传文件的名称是浏览器向服务器发出的POST请求正文的一部分,因此.htaccess规则无法在您的情况下执行。除非您使用某些上传模式,例如在服务器上创建占位符,然后将文件提交到该占位符。
答案 1 :(得分:1)
如果您在网址中使用带有base64编码字符串的GET方法,则可以使用.htaccess根据该字符串的mime类型重定向到上传脚本。但是我猜这不是你尝试过的。 .htaccess不适合你的情况。如果你需要控制上传文件的扩展名,你应该直接在你的上传脚本(php,python等)中进行处理。