function getRealIp(){
static $realip = null;
if ($realip !== null) {
return $realip;
}
if(isset($_SERVER)){
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$realip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else if (isset($_SERVER['HTTP_CLIENT_IP'])) {
$realip = $_SERVER['HTTP_CLIENT_IP'];
} else {
$realip = $_SERVER['REMOTE_ADDR'];
}
} else {
if(getenv('HTTP_X_FORWARDED_FOR')){
$realip = getenv('HTTP_X_FORWARDED_FOR');
} else if (getenv('HTTP_CLIENT_IP')) {
$realip = getenv('HTTP_CLIENT_IP');
} else {
$realip = getenv('REMOTE_ADDR');
}
}
// 处理多层代理的情况
if (false !== strpos($realip, ',')) {
$realip = reset(explode(',', $realip));
}
// IP地址合法验证
$realip = filter_var($realip, FILTER_VALIDATE_IP, null);
if (false === $realip) {
return '0.0.0.0';
}
return $realip;
}
PHP获取客户端真实IP
最新推荐文章于 2024-06-27 18:43:53 发布