php 如何获取真实的客户端ip

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fmyzc/article/details/81907245

最近在做一个需求,需要获取客户端ip,使用的是$_SERVER[”REMOTE_ADDR’],测试发现不真实

使用下列代码即可获取真实ip,亲测有效

//获取用户IP地址
    public function getIp()
    {

        if(!empty($_SERVER["HTTP_CLIENT_IP"]))
        {
            $cip = $_SERVER["HTTP_CLIENT_IP"];
        }
        else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
        {
            $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
        }
        else if(!empty($_SERVER["REMOTE_ADDR"]))
        {
            $cip = $_SERVER["REMOTE_ADDR"];
        }
        else
        {
            $cip = '';
        }
        preg_match("/[\d\.]{7,15}/", $cip, $cips);
        $cip = isset($cips[0]) ? $cips[0] : 'unknown';
        unset($cips);

        return $cip;
    }

猜你喜欢

转载自blog.csdn.net/fmyzc/article/details/81907245