if ( getenv('HTTP_CLIENT_IP') ) {
$ipaddress = getenv('HTTP_CLIENT_IP');
} else if( getenv('HTTP_X_FORWARDED_FOR') ) {
$ipaddress = getenv('HTTP_X_FORWARDED_FOR');
$ipaddress = explode(",", $ipaddress);
$ipaddress = $ipaddress[0];
} else if( getenv('HTTP_X_FORWARDED') ) {
$ipaddress = getenv('HTTP_X_FORWARDED');
} else if( getenv('HTTP_FORWARDED_FOR') ) {
$ipaddress = getenv('HTTP_FORWARDED_FOR');
} else if( getenv('HTTP_FORWARDED') ) {
$ipaddress = getenv('HTTP_FORWARDED');
} else if( getenv('REMOTE_ADDR') ) {
$ipaddress = getenv('REMOTE_ADDR');
} else {
$ipaddress = 'UNKNOWN';
}
如何从CDN获得真正的IP?我尝试谷歌它,但没有任何关于此的帖子。有人可以帮忙吗?
答案 0 :(得分:-2)
尝试使用$ _SERVER
$ipaddress = $_SERVER('HTTP_CLIENT_IP');
有时候getenv没有返回正确的IP地址,所以我们可以改用$ _SERVER。