在php中无法访问访问者的IP地址

时间:2010-09-21 06:30:56

标签: php logging ip-address

我正在尝试存储访问我网站的人的IP地址。为此,我使用下面给出的代码。

$serverIP=$_SERVER['REMOTE_ADDR'];

但是我没有获得像112.200.xxx.xxx这样的IP(当我访问时),而是获得了192.9.200.195 ..

有人请帮助我

提前致谢

tismon

4 个答案:

答案 0 :(得分:3)

试试这个,也许是代理(?)

if ($_SERVER['HTTP_X_FORWARDED_FOR'])
{
  $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else
{
  $ip = $_SERVER['REMOTE_ADDR'];
} 
echo $ip;

答案 1 :(得分:2)

看起来你认为192.9.200.195是一个本地的ip-adress - 但不是,本地地址你的意思是从192.168.开始。 192.9.200.195对我来说没问题,如果不是,请尝试更详细地解释一下你的问题。

答案 2 :(得分:1)

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;
}
echo getRealIpAddr();

答案 3 :(得分:0)

你也可以试试这个:

<?php
$var = file_get_contents('http://www.whatismyip.com/automation/n09230945.asp');
print $var;
?>