在网站设计过程中,怎样取得用户真实IP地址? 就一般的用户而言,只要用PHP的$_SERVER["REMOTE_ADDR"]就可取得。 但是对于使用了代理服务器的用户,得进行特殊处理。 具体代码如下: //IP地址获取
if(isset($_SERVER["HTTP_CLIENT_IP"])){
$onlineip = $_SERVER["HTTP_CLIENT_IP"];
}else if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
foreach (explode(',',$_SERVER["HTTP_X_FORWARDED_FOR"]) as $ip){
if(strtolower(trim($ip))!="unknown"){
$onlineip = $ip;
break;
}
}
$onlineip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}else if(isset($_SERVER["REMOTE_ADDR"])){
$onlineip = $_SERVER["REMOTE_ADDR"];
}else{
$onlineip = '0.0.0.0';
}
if(ereg("[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}",$onlineip)==false){
$onlineip = '0.0.0.0';
}//结束IP获取在整个过程中,对于无法取得的IP都设为了0.0.0.0,这样的设定是为了跟网站的其它地方功能配合。 |