第一篇:PHP 獲取客戶端真實IP地址多種方法小結
PHP 獲取客戶端真實IP地址多種方法小結
經過復雜的判斷與算是的獲取IP地址函數 復制代碼 代碼如下: function getIP(){
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;
} 最簡單獲取ip地址代碼一句實例
復制代碼 代碼如下: $reIP=$_SERVER[“REMOTE_ADDR”];echo $reIP;php獲取ip的算法
復制代碼 代碼如下: if(getenv('HTTP_CLIENT_IP')){ $onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')){ $onlineip = getenv('HTTP_X_FORWARDED_FOR');} elseif(getenv('REMOTE_ADDR')){ $onlineip = getenv('REMOTE_ADDR');} else {
$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];}
echo $onlineip;可以分出內網與外網站ip地址獲取程序
復制代碼 代碼如下: function getip_out(){ $ip=false;
if(!empty($_SERVER[“HTTP_CLIENT_IP”])){ $ip = $_SERVER[“HTTP_CLIENT_IP”];} if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){ $ips教程 = explode(“, ”, $_SERVER['HTTP_X_FORWARDED_FOR']);if($ip){ array_unshift($ips, $ip);$ip = FALSE;} for($i = 0;$i < count($ips);$i++){
if(!eregi(“^(10│172.16│192.168).”, $ips[$i])){ $ip = $ips[$i];break;} } }
return($ip ? $ip : $_SERVER['REMOTE_ADDR']);}
echo getip_out();php獲取ip的算法,用了?號表達式來處理
復制代碼 代碼如下: $user_IP =($_SERVER[“HTTP_VIA”])? $_SERVER[“HTTP_X_FORWARDED_FOR”] : $_SERVER[“REMOTE_ADDR”];$user_IP =($user_IP)? $user_IP : $_SERVER[“REMOTE_ADDR”];