PHP的“HTTP_X_FORWARDED_FOR”或“HTTP_CLIENT_IP”与“REMOTE_ADDR”有什么不同,有没有合理的理由?

时间:2012-12-27 02:31:51

标签: php header http-headers ip security

我想为某些地理区域的用户实施某些安全功能和其他功能。我知道“HTTP_X_FORWARDED_FOR”和“HTTP_CLIENT_IP”可能是伪造的,但是它们是否有任何实际合法的原因甚至可能在标题中,或者与REMOTE_ADDR不同?任何人都可以提供任何例子吗?

如果我允许我的服务仅限那些具有匹配IP或空转转IP值的服务,那么我是否会离开任何不试图绕过IP位置安全的合法客户?

1 个答案:

答案 0 :(得分:2)

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

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