【发布时间】:2011-06-04 19:37:49
【问题描述】:
所以我有一个文件应该从不由用户直接访问,但包含在另一个 PHP 文件中。如果直接调用该文件,它会生成 HTTP Status 404 Not Found 以欺骗可能的攻击者该文件不存在。但是,如果黑客能够分辨出 404 是由 PHP 生成的或者不是“自然的”,那么标头的整个点就会丢失。那么是否可以判断 404 是由服务器自然生成(因为该文件确实不存在)还是由 PHP 代码生成?
PS:我知道这个问题可能看起来很奇怪,哈哈
【问题讨论】:
-
这并不能直接回答您的问题...但是为什么不使用
403 forbidden代码呢? -
RFC2616 指出,当服务器不希望显示拒绝请求的确切方式时,404 状态代码可用于指示拒绝响应请求。 w3.org/Protocols/rfc2616/rfc2616-sec10.html
-
@Nick:我不是 OP,但我想 403 禁止会让攻击者(尤其是自动攻击者)知道“嘿,那个文件在那里,我在正确的轨道上”
-
艾伦是对的,哈哈,他不是我,但他对攻击者知道文件在那里也是对的!
-
给自己一个 http 嗅探器,记下服务器发出的常规 404 标头,然后在脚本中模拟它们。简单易懂
标签: php http http-headers http-status-code-404