我正在尝试存储访问我网站的人的IP地址。为此,我使用下面给出的代码。
$serverIP=$_SERVER['REMOTE_ADDR'];
但是我没有获得像112.200.xxx.xxx
这样的IP(当我访问时),而是获得了192.9.200.195
..
提前致谢
tismon
答案 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;
?>