PHP 获取客户端用户 IP 地址

一般情况下可以使用以下代码获取到用户 IP 地址

echo 'User IP - '.$_SERVER['REMOTE_ADDR']; // 服务器在局域网的话,那么显示的则是内网IP 。
// 如果服务器在外网的话,那么访问的话获得的是外网的IP,无法获取内网IP

 

但是有些用户会使用 Proxy 代理,在这种情况下可以通过以下代码获取到真实的 IP

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

echo 'User Real IP - '.getUserIpAddr();

 

 

参考链接:

https://www.codexworld.com/how-to/get-user-ip-address-php/

https://www.php.net/reserved.variables.server

posted @ 2019-06-21 14:48  Ryan_zheng  阅读(7975)  评论(0编辑  收藏  举报