.htaccess仅允许图像

时间:2015-04-11 14:40:32

标签: php linux apache .htaccess

我知道有类似的问题,但没有一个能引导我找到正确的解决方案。

我想做什么

在/ uploads文件夹中使用.htaccess可确保只能上传具有适当扩展名的文件。 (例如jpg,png)

我做了什么

  • 修改/etc/httpd/conf/httpd.conf 允许覆盖.htaccess文件

  • 在/ uploads文件夹中创建.htaccess文件

要测试是否已读取.htaccess,我已尝试将垃圾放入.htaccess文件并从浏览器访问它。因此,生成了相应的错误.htaccess文件正常工作。

问题

.htaccess中添加了以下脚本                    命令拒绝,允许          否认所有人          

但是,我仍然可以将包含任何扩展名的文件上传到/ uploads文件夹。

我尝试过类似帖子的不同建议而没有运气。寻找你们的新方向。

感谢。

2 个答案:

答案 0 :(得分:2)

上传文件的名称是浏览器向服务器发出的POST请求正文的一部分,因此.htaccess规则无法在您的情况下执行。除非您使用某些上传模式,例如在服务器上创建占位符,然后将文件提交到该占位符。

答案 1 :(得分:1)

如果您在网址中使用带有base64编码字符串的GET方法,则可以使用.htaccess根据该字符串的mime类型重定向到上传脚本。但是我猜这不是你尝试过的。 .htaccess不适合你的情况。如果你需要控制上传文件的扩展名,你应该直接在你的上传脚本(php,python等)中进行处理。