【发布时间】:2011-10-10 18:39:21
【问题描述】:
我有一个 .htaccess 文件,目前看起来像:
命令允许,拒绝 否认一切 文件> 选项所有索引 索引忽略 * # 使用 404 而不是 403 响应 /include/ 重写引擎开启 重定向匹配 404 ^/include(/?|/.*)$我试图阻止所有人知道 /include/ 的存在,但是我遇到了一个问题。
虽然访问http://www.example.com/include 会给出404,但浏览器会添加一个斜杠(因此给出http://www.example.com/include/),这表明该目录确实存在,但被伪装了。当访问实际的 404 时,不附加斜线。
有没有办法防止这种行为?
【问题讨论】:
-
如果目录受到保护,有什么区别?为什么还要麻烦使用 404 而不是 403?这就是 403 的用途。
-
我正在考虑未来的安全性。这有点矫枉过正,但安全总比后悔好。
-
@Michael Irigoyen 抱歉,但即使是“默默无闻的安全”也总比没有好。攻击者应该尽可能少地了解系统。如果他知道有一些隐藏目录,他可能会将这些微泄漏与 LFI / 代码泄漏 / 等其他漏洞链接起来。仍然可以使用 LFI 暴力破解这些隐藏目录,但攻击者需要知道
directory name+ @987654324 @。如果没有此类泄漏,攻击者将需要更多时间来利用该系统。顺便说一句,不知道为什么 403 甚至在那里,但恕我直言,它绝对没用。尽可能隐藏和保护一切。
标签: apache .htaccess mod-rewrite http-status-code-404 http-status-code-403