PHP 获取客户端 IP 地址的方法实例代码
先来了解一个变量的含义:
$_SERVER['REMOTE_ADDR']:浏览当前页面的用户计算机的ip地址
$_SERVER['HTTP_CLIENT_IP']:客户端的ip
$_SERVER['HTTP_X_FORWARDED_FOR']:浏览当前页面的用户计算机的网关
$_SERVER['HTTP_X_REAL_IP']:nginx代理模式下,获取客户端真实IP
/**
*获取客户端IP地址
*/
functionreal_ip()
{
$ip=$_SERVER['REMOTE_ADDR'];
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])&&preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s',$_SERVER['HTTP_X_FORWARDED_FOR'],$matches)){
foreach($matches[0]AS$xip){
if(!preg_match('#^(10|172\.16|192\.168)\.#',$xip)){
$ip=$xip;
break;
}
}
}elseif(isset($_SERVER['HTTP_CLIENT_IP'])&&preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',$_SERVER['HTTP_CLIENT_IP'])){
$ip=$_SERVER['HTTP_CLIENT_IP'];
}elseif(isset($_SERVER['HTTP_CF_CONNECTING_IP'])&&preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',$_SERVER['HTTP_CF_CONNECTING_IP'])){
$ip=$_SERVER['HTTP_CF_CONNECTING_IP'];
}elseif(isset($_SERVER['HTTP_X_REAL_IP'])&&preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/',$_SERVER['HTTP_X_REAL_IP'])){
$ip=$_SERVER['HTTP_X_REAL_IP'];
}
return$ip;
}
总结
以上所述是小编给大家介绍的PHP获取客户端IP地址的方法实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短