我使用下面的代碼來獲取用戶的真實IP地址。如何在PHP中獲取用戶的IP地址?
function getUserIP() {
if (getenv('HTTP_CLIENT_IP')) {
$ip = getenv('HTTP_CLIENT_IP');
}
elseif (getenv('HTTP_X_FORWARDED_FOR')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_X_FORWARDED')) {
$ip = getenv('HTTP_X_FORWARDED');
}
elseif (getenv('HTTP_FORWARDED_FOR')) {
$ip = getenv('HTTP_FORWARDED_FOR');
}
elseif (getenv('HTTP_FORWARDED')) {
$ip = getenv('HTTP_FORWARDED');
}
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
$userIP = getUserIP();
有時我得到的IP地址是67.143.220.112, 67.142.171.26
。
這是用戶的正確IP地址還是必須做別的事情才能獲得用戶的真實IP地址?
使用$ _ SERVER [ 'REMOTE_ADDR']另外,可我建議清晰度[轉](http://php.net/manual/en/control-structures.switch.php)? – 2011-05-07 05:25:53
你的方式似乎很好。有關更詳細的博客討論:http://www.scriptygoddess.com/archives/2003/03/18/get-users-ip-with-php/ – Spyros 2011-05-07 04:48:06