2011-10-09 101 views
2

我有一个名为“files”的文件夹我在那里有一个.htaccess文件,其中的工作是确定文件是要“下载”还是只是查看EXECUTED(txt文件,.PHP等),但我想查看的图像文件,因为他们是...图像!因此,他们不应该被下载。下载所有文件,而不是在浏览器中查看它们.htaccess

我试着用

Header set Content-Disposition attachment 
Header set Content-Type application/octet-stream 

但是,给我一个错误

如何设置这个规则?

  1. 下载文件。
  2. 显示图片(如果图片,当然,显示.pdf文件等)。
  3. 视图(DONT EXECUTE!).PHP,.TXT等

这是一个安全的方法,顺便说一下?

+1

“但是,这给我一个错误”特定文件 - ** **什么错误? – Quentin

+0

相关:http://stackoverflow.com/a/12641607/808732 –

回答

7

所有第一组的下载代码,然后添加代码像图像和PDF

<Files *.*> 
ForceType applicaton/octet-stream 
</Files> 
<Files *.jpeg> 
ForceType image/jpeg 
</Files> 
<Files *.jpg> 
ForceType image/jpeg 
</Files> 
<Files *.pdf> 
ForceType application/pdf 
</Files> 
+0

如果您正确设置正确的文件操作,那么这是安全的。比方说,如果你允许在这个文件夹根目录上上传.htaccess文件,那么这会造成很大的问题。如果您在上传时添加一些限制,那么这将起作用。我建议检查所有可能的漏洞并限制它。就是这样 –

+0

是的,我明白了。这是我的想法 ForceType applicaton/octet-stream 我指定要下载的所有文件,然后我做一些“白名单”,让文件他们应该做的,就像它的JPG显示它的样子一个img,并且如果它显示pdf就像pdf。是的,我可以做些什么.htaccess,我可以在httpd.config中添加上面的.htaccess信息,然后设置.htaccess显示为纯文本或其他内容? – John

+0

不确定。请测试自己,我会在完成调查后再回复您。欢呼!! –

相关问题