Apache 禁止 URL 中包含点

Apache 禁止 URL 中包含点

我正在尝试访问网址:http://www.domain.com/data/images/.mthumbs/thumb-image.png

我知道这个文件肯定存在,并且读取权限正确:/data/images/.mthumbs/thumb-image.png

但是当我在 url 中查看时,apache 给出禁止错误。可能是因为 .mthumbs

答案1

按照惯例,此类文件在 Linux 中是隐藏文件,而安全敏感文件(.htaccess尤其是.htpasswd)以 开头.。此外,一种流行但过时的漏洞曾经涉及..在路径中输入 ,在某些情况下,在路径中使用/./可以破坏访问规则。出于这些原因,大多数 Apache 配置倾向于拒绝访问这些文件和路径。

你应该在某处制定一条规则,其作用类似于:

<FilesMatch "^\.">
    Order allow,deny
    Deny from all
</FilesMatch>

请注意,它可能看起来不太像那样;这只是一个例子。确保您已涵盖我之前提到的所有安全基础,然后摆脱该规则,或适当地确定其范围。

迄今为止,更简单、更安全、更标准的做法是修改目录结构和/或应用程序,使其不再要求路径名中的元素以 为前导.

相关内容