【发布时间】:2017-06-09 13:17:28
【问题描述】:
$ipaddress = '';
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';
}
return ip2long($ipaddress);
http_client_ip - null
http_x_forwarded_for - 2604:2000:6147:df00:25ee:04a4:ea44:6947, 162.158.62.236
http_x_forwarded - null
http_forwarded_for - null
http_forwarded - null
remote_addr 112.121.183.210
您好,我是 ip 新手,不知道如何获取真实 ip 地址。
不知道为什么
http_x_forwarded_for返回2个ip?为什么
http_x_forwarded_for第一个包含字母?为什么
http_client_ip, http_x_forwarded, http_forwarded_for, http_forwarded为空?为什么
remote_addr与http_x_forwarded_for不同?
哪个是正确的ip地址
【问题讨论】: