今天给客户解答房源群发问题时发现在php中通常我们使用$_SERVER['REMOTE_ADDR']来获取用户的IP地址的,那么如果用户使用了代理服务器,我们就没办法获取到对方真实的ip,如何能够正确的获取用户的地址呢,可以通过下面的函数来获取
functiongetIP()
{
static$realip;
if(isset($_SERVER)){
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$realip= $_SERVER["HTTP_X_FORWARDED_FOR"];
} elseif(isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip= $_SERVER["HTTP_CLIENT_IP"];
} else{
$realip= $_SERVER["REMOTE_ADDR"];
}
} else{
if(getenv("HTTP_X_FORWARDED_FOR")){
$realip= getenv("HTTP_X_FORWARDED_FOR");
} elseif(getenv("HTTP_CLIENT_IP")) {
$realip= getenv("HTTP_CLIENT_IP");
} else{
$realip= getenv("REMOTE_ADDR");
}
}
return$realip;
}
阅读(823) | 评论(0) | 转发(0) |