扣丁学堂PHP培训简述PHP获取客户端IP地址的方法

发布时间:2019-08-07 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了扣丁学堂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,请注明来意。