使用PHP检测用户IP地址

时间:2013-06-26 13:53:09

标签: php

我在我的网站上有一个联系表格,我想知道用户的IP地址是什么,我在我的本地测试中尝试了这个PHP代码 XAMPP

function getRealIpAddr()
{
if (!empty($_SERVER['HTTP_CLIENT_IP']))
//check ip from share internet
{
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
 elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
 //to check ip is pass from proxy
  {
    $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
  }
  else
  {
    $ip=$_SERVER['REMOTE_ADDR'];
  }
  return $ip;

}
$ipaddress= getRealIpAddr();

echo "my ip address is" . $ipaddress;

但结果总是如

"my ip address is::1",

我不知道代码有什么问题。

2 个答案:

答案 0 :(得分:8)

那是因为您在本地计算机上 - ::1localhost的IPv6地址之一。它与127.0.0.1类似。那是因为你在本地访问你的脚本。如果您将此脚本上传到服务器,并通过互联网连接访问它,您将能够看到您的外部IP。

答案 1 :(得分:2)

:: 1与127.0.0.1相同,但在IPv6表示法中,所以也许你的代码是正确的!你能在服务器上查看它并将你的结果与“whatismyip.com”输出结果进行比较吗?