Server变量里奇怪的IP值,遇到的人估计少,求高手解释!
itian 2012-07-09 05:39:42 我尝试取客户端IP,调试过程中var_dump($_SERVER);信息里
…………
["REMOTE_ADDR"]=>
string(14) "222.51.8.131"
["REMOTE_HOST"]=>
string(14) "222.51.8.131"
…………
["HTTP_X_REAL_IP"]=>
string(12) "222.51.8.131"
["HTTP_X_FORWARDED_FOR"]=>
string(12) "222.51.8.131"
…………
IP地址显示出来是一样,但是长度却不同(前两条为14,后两条为12,为什么?多余的字节数是什么?),导致取出来的IP地址不一致。
表面上REMOTE_ADDR的值为"222.51.8.131",但是
$ip = $_SERVER['REMOTE_ADDR'];
echo $ip[0]; //1
echo $ip[1]; //1
echo $ip[2]; //3
echo $ip[3]; //.
echo $ip[4]; //1
echo $ip[5]; //0
…………拼接起来是 113.105.151.19
这个问题是什么原因造成的?应该如何修复?