我在我的网站上有一个用户注册系统。我正在使用ip-api.com的xml ip api来检测用户的位置。我的问题是,我正在使用的php脚本返回用户的代理或错误的ip地址,这就是为什么他们不能在他们的配置文件中设置正确的位置。
我使用以下条件语句来获取ip地址:
$ip=$_SERVER["REMOTE_ADDR"];
if(empty($ip))
{$ip=$_SERVER"HTTP_X_FORWARDED_FOR";}
它为某些用户返回错误的ip地址。
有没有其他方法可以在php中获取真实的ip或地理位置?
发布于 2015-12-03 00:54:08
您可以查看此主题:How to get Real IP from Visitor?
function getUserIP()
{
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = $_SERVER['REMOTE_ADDR'];
if(filter_var($client, FILTER_VALIDATE_IP))
{
$ip = $client;
}
elseif(filter_var($forward, FILTER_VALIDATE_IP))
{
$ip = $forward;
}
else
{
$ip = $remote;
}
return $ip;
}
$user_ip = getUserIP();https://stackoverflow.com/questions/34048350
复制相似问题