获取请求IP地址

来源:互联网 发布:mac系统能玩魔兽吗 编辑:程序博客网 时间:2024/05/10 23:05
function getIp(){    $ip = $_SERVER['REMOTE_ADDR'];    if(isset($_SERVER['HTTP_CDN_SRC_IP'])) {        $ip = $_SERVER['HTTP_CDN_SRC_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']) AND 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;}