FilesMatch下载文件而不是加载

时间:2012-10-02 19:57:29

标签: php .htaccess

Rightio ...我即将添加图片上传到我的网站。在阅读了一些安全博客后,我将以下内容添加到了我的htaccess文件中。

        ForceType application/octet-stream
        <FilesMatch "(?i)\.jpe?g$">
                ForceType image/jpeg
        </FilesMatch>
        <FilesMatch "(?i)\.gif$">
                ForceType image/gif
        </FilesMatch>
        <FilesMatch "(?i)\.png$">
                ForceType image/png
        </FilesMatch>

当我浏览PHP页面时,它会下载file.php,而不是在浏览器中显示该页面。

非常感谢任何想法。

我正在本地工作。

非常感谢 刘易斯

2 个答案:

答案 0 :(得分:2)

  

当我浏览到PHP页面时,它会下载file.php,而不是在浏览器中显示该页面

那是因为你有这一行:

ForceType application/octet-stream

本身,没有任何条件。这意味着,一切应该具有mime-type application/octet-stream,浏览器会将其视为并理解为应下载的二进制内容。不确定这是如何改进安全性的,因为它可以使您的整个网站可以下载并作为代码查看,而不是任何动态生成的内容。

答案 1 :(得分:0)

您必须将.htaccess代码放在只包含图像文件的目录中。如果您没有将图像放在他们自己的目录中,请为他们创建一个目录并将其放在那里(并更新指向它们的链接)。