如何在PHP中检查访问者IP地址的代码功能?

jus*_*joe 4 php proxy ip-address

我仍然对此主题感到困惑,并请求有关如何通过PHP检查访客IP地址的任何帮助和参考.

我知道在尝试编写代码之前先问一些东西似乎很懒,但是现在,我也在谷歌上搜索它.希望有人可以给出一般的广泛答案或一些阅读链接?

顺便说一句,当我们必须编写这样的一些功能时需要考虑什么?

PS:非常感谢大家.这是有启发性的论点.坦率地说,我更多地选择答案作为尊重而不是真理.因为到现在为止我还是不知道对的.也许在我对这个话题本身有一个坚定的理解之前,我需要更多年的学习.

jas*_*bar 6

请参阅$ _SERVER,具体如下:

$_SERVER['REMOTE_ADDR'];
Run Code Online (Sandbox Code Playgroud)


You*_*nse 5

好的,justjoe,我看到你对这个争论感到困惑,我的重要部分就在其中.

还有一些解释.

答案取决于任务.你有2个选择:

如果只需要一个IP地址,则只能使用REMOTE_ADDR而不能使用其他IP地址.看看Web服务器的访问日志:只有一个IP地址,它是REMOTE_ADDR.至少它保证你有效的IP地址.在许多情况下,就像交通计数器一样,这是你唯一可以信赖的东西.这是对"如何获取IP地址"问题的一般回答.

如果你想记录一个可能更精确的地址 - 那么,没有人禁止你录制许多地址,而不是一个.但是,当然,您必须记录这些HTTP标头以及REMOTE_ADDR,而不是它.这样一大堆地址有一些用处.但你不能过分依赖它.但是如果你关心的话,你可以从中挖掘一些信息.

FORWARDED_FOR标头的唯一情况是配置错误的网络服务器,它将真实IP地址放入此变量中.在这种情况下,它可以用作IP地址.但是,当然必须在每种特定情况下手动完成,而不是作为一般建议.但无论如何,我会退出这样一个网络服务器,因为它不仅可能存在一个错误配置.