首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在php中获取真实客户端ip或地理位置?

如何在php中获取真实客户端ip或地理位置?
EN

Stack Overflow用户
提问于 2015-12-03 00:50:07
回答 1查看 1.4K关注 0票数 0

我在我的网站上有一个用户注册系统。我正在使用ip-api.com的xml ip api来检测用户的位置。我的问题是,我正在使用的php脚本返回用户的代理或错误的ip地址,这就是为什么他们不能在他们的配置文件中设置正确的位置。

我使用以下条件语句来获取ip地址:

代码语言:javascript
复制
   $ip=$_SERVER["REMOTE_ADDR"];
 if(empty($ip))
 {$ip=

$_SERVER"HTTP_X_FORWARDED_FOR";}

它为某些用户返回错误的ip地址。

有没有其他方法可以在php中获取真实的ip或地理位置?

EN

回答 1

Stack Overflow用户

发布于 2015-12-03 00:54:08

您可以查看此主题:How to get Real IP from Visitor?

代码语言:javascript
复制
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();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34048350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档