脚本宝典收集整理的这篇文章主要介绍了扣丁学堂PHP培训简述PHP获取客户端IP地址的方法,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
本篇文章扣丁学堂PHP培训小编给读者们分享一下PHP获取客户端IP地址的方法,文中有代码列出供大家参考,对PHP开发技术感兴趣的小伙伴就随小编来了解一下吧。
先来了解一个变量的含义:
$_SERVER['REMOTE_ADDR']:浏览当前页面的用户计算机的ip地址
$_SERVER['HTTP_CLIENT_IP']:客户端的ip
$_SERVER['HTTP_X_FORWARDED_FOR']:浏览当前页面的用户计算机的网关
$_SERVER['HTTP_X_REAL_IP']:nginx 代理模式下,获取客户端@R_304_1903@
/**
- 获取客户端IP地址
*/
function real_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在线学习小编给大家分享的PHP获取客户端IP地址的方法,希望对小伙伴们有所帮助,想要了解更多内容的小伙伴可以登录扣丁学堂官网咨询。
想要学好PHP开发小编给大家推荐口碑良好的扣丁学堂,扣丁学堂有专业老师制定的PHP学习路线图辅助学员学习,此外还有与时俱进的PHP课程体系和PHP视频教程供大家学习,想要学好PHP开发技术的小伙伴快快行动吧。
以上是脚本宝典为你收集整理的扣丁学堂PHP培训简述PHP获取客户端IP地址的方法全部内容,希望文章能够帮你解决扣丁学堂PHP培训简述PHP获取客户端IP地址的方法所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。