PHP获取用户真实IP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP获取用户真实IP相关的知识,希望对你有一定的参考价值。

function get_real_ip()
{
    $ip = $_SERVER[‘REMOTE_ADDR‘];

    if (isset($_SERVER[‘HTTP_CF_CONNECTING_IP‘]) && preg_match(‘/^([0-9]{1,3}\.){3}[0-9]{1,3}$/‘, $_SERVER[‘HTTP_CF_CONNECTING_IP‘]))
    {
        $ip = $_SERVER[‘HTTP_CF_CONNECTING_IP‘];
    } 
    elseif (isset($_SERVER[‘HTTP_CLIENT_IP‘]) && preg_match(‘/^([0-9]{1,3}\.){3}[0-9]{1,3}$/‘, $_SERVER[‘HTTP_CLIENT_IP‘])) 
    {
        $ip = $_SERVER[‘HTTP_CLIENT_IP‘];
    } 
    elseif(isset($_SERVER[‘HTTP_X_FORWARDED_FOR‘]) && preg_match_all(‘#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s‘, $_SERVER[‘HTTP_X_FORWARDED_FOR‘], $matches)) 
    {
        foreach ($matches[0] AS $xip) 
        {
            if (!preg_match(‘#^(10|172\.16|192\.168)\.#‘, $xip)) 
            {
                $ip = $xip;
                break;
            }
        }
    }
    return $ip;
}

 

以上是关于PHP获取用户真实IP的主要内容,如果未能解决你的问题,请参考以下文章

PHP获取用户的真实IP地址

PHP 获取用户的真实IP地址。

PHP获取用户真实IP

php获取用户真实IP和防刷机制

php获取用户真实ip地址与地理位置

怎么使用PHP获取用户客户端真实IP的解决方案呢?