微信公众号制作开发 微信小程序定制开发 网站建设制作 手机app软件开发

您的位置:首页 > 技术观点 > 信息详情

PHP如何获取客户端IP地址的方法实例代码

来源:山东鸿软信息科技有限公司  阅读量:  时间:2018-11-28 12:11
这篇文章主要介绍了PHP 获取客户端 IP 地址的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下

先来了解一个变量的含义:


$_SERVER['REMOTE_ADDR']:浏览当前页面的用户计算机的ip地址


$_SERVER['HTTP_CLIENT_IP']:客户端的ip


$_SERVER['HTTP_X_FORWARDED_FOR']:浏览当前页面的用户计算机的网关


$_SERVER['HTTP_X_REAL_IP']:nginx 代理模式下,获取客户端真实IP

/**

 * 获取客户端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 获取客户端 IP 地址的方法实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


成为您更加专业的技术合伙人

网站建设 | APP开发 | 产品服务 | 技术观点 | 关于我们      电话:151-6502-2080  客服QQ:1828087588、1421667633  客服电子邮箱:1828087588@qq.com

Copyright © 2019 山东鸿软信息科技有限公司 版权所有 https://www.greatsoft.cn 鲁ICP备16026454号