我正在尝试访问网址: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>
请注意,它可能看起来不太像那样;这只是一个例子。确保您已涵盖我之前提到的所有安全基础,然后摆脱该规则,或适当地确定其范围。
迄今为止,更简单、更安全、更标准的做法是修改目录结构和/或应用程序,使其不再要求路径名中的元素以 为前导.
。