3

我想跟踪打开我网站的用户的 IP 地址。我做了很多谷歌搜索,甚至在stackoverflow上提出了其他问题,但找不到解决方案。我实际上想知道如何通过使用获取 IP 地址

    $_SERVER['REMOTE_ADDR'] or $_SERVER['REMOTE_HOST'] variables. 
4

4 回答 4

8

利用$_SERVER['REMOTE_ADDR']

if ($_SERVER['HTTP_CLIENT_IP']!="") 
{
    $ip = $_SERVER['HTTP_CLIENT_IP'];
} 
elseif ($_SERVER['HTTP_X_FORWARDED_FOR']!="") 
{
    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else 
{
    $ip = $_SERVER['REMOTE_ADDR'];
}
于 2013-08-12T06:04:05.463 回答
3

如果您的客户端通过代理服务器连接,则只$_SERVER['REMOTE_ADDR']返回代理服务器的 IP 地址,而不是客户端机器的 IP 地址。这是您可以获得的最接近客户的 ip。

if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
    $ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
    $ip = $_SERVER['REMOTE_ADDR'];
}
于 2013-08-12T05:38:58.917 回答
1

您的答案在您的问题中: $_SERVER['REMOTE_ADDR']将包含访问您网站的用户的 IP。就像使用任何其他变量一样使用它。

于 2013-08-12T05:33:42.023 回答
0

为此,答案很简单。只需使用 PHP 的 $_SERVER["REMOTE_ADDR"] 来获取访问给定页面/url 的用户的 IP

于 2013-08-12T10:05:14.863 回答