php取得真實的 IP

最近看到這個環境變數 $_SERVER[‘HTTP_X_FORWARDED_FOR’] ,會紀錄所經過的主機 IP,所以可以像以下這樣寫來取得使用者真正的 IP。

if(!empty($_SERVER[‘HTTP_X_FORWARDED_FOR’])){
//存在的話將 HTTP_X_FORWARDED_FOR拆解取出第一個IP即可
$proxy_ip = split(‘,’,$_SERVER[‘HTTP_X_FORWARDED_FOR’]);
$ip = $proxy_ip[0];
}else
{
//不存在則使用REMOTE_ADDR來得到訪客IP
$ip = $_SERVER[‘REMOTE_ADDR’];
}