我想为某些地理区域的用户实现某些安全和其他功能。我知道“HTTP_X_FORWARDED_FOR”和“HTTP_CLIENT_IP”可以是伪造的,但是是否有任何实际的合法原因可以解释为什么它们会出现在 header 中,或者与 REMOTE_ADDR 不同?谁能举个例子吗?
如果我只允许那些具有匹配 IP 或空转发 IP 值的服务,我是否会将任何不试图绕过 IP 位置安全的合法客户排除在外?
最佳答案
非匿名代理可能会添加这些 header 。例如,AOL 几年前就这样做过。
但是,您在任何情况下都不能信任它们,除非您控制添加它们的系统。在这种情况下,您需要确保 header 仅在请求的 REMOTE_ADDR
实际上是这些系统之一的情况下使用。这些系统必须始终添加 header 和/或确保在客户端已经发送 header 的情况下正确替换 header 。
关于php - PHP 的 "HTTP_X_FORWARDED_FOR"或 "HTTP_CLIENT_IP"与 "REMOTE_ADDR"不同是否有任何合法原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14048700/