【问题标题】:Are there any legit reasons why PHP's "HTTP_X_FORWARDED_FOR" or "HTTP_CLIENT_IP" would be different from "REMOTE_ADDR"?PHP的“HTTP_X_FORWARDED_FOR”或“HTTP_CLIENT_IP”与“REMOTE_ADDR”有什么不同吗?
【发布时间】:2012-12-27 02:31:51
【问题描述】:

我想为某些地理区域的用户实施某些安全性和其他功能。我知道“HTTP_X_FORWARDED_FOR”和“HTTP_CLIENT_IP”可以被伪造,但是有没有任何实际的正当理由可以使它们甚至出现在标头中,或者与REMOTE_ADDR不同?谁能举个例子?

如果我只允许那些具有匹配 IP 或为空转发 IP 值的用户提供服务,我是否会将任何不试图绕过 IP 位置安全的合法客户排除在外?

【问题讨论】:

    标签: php header http-headers ip security


    【解决方案1】:

    非匿名代理可能会添加这些标头。例如,AOL 几年前曾经这样做过。

    但是,您在任何情况下都不能信任它们,除非控制系统添加它们。在这种情况下,您需要确保仅在请求的 REMOTE_ADDR 实际上是这些系统之一的情况下使用标头。并且这些系统必须始终添加标题和/或确保在客户端已经发送标题的情况下正确替换它。

    【讨论】:

    • 我不太确定这是否回答了我的问题。你是说 REMOTE_ADDR 也不能被信任?那不是执行请求的实际计算机的IP吗?我真正要问的是我是否应该阻止 REMOTE_ADDR 和 HTTP_X_FORWARDED_FOR 彼此不同的人。谢谢。
    猜你喜欢
    • 2011-11-18
    • 2018-12-09
    • 2016-11-19
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 2011-05-07
    • 1970-01-01
    相关资源
    最近更新 更多