• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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 地址的方法实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

    您可能感兴趣的文章:
    • php获取用户真实IP和防刷机制的实例代码
    • 利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
    • PHP获取用户客户端真实IP的解决方案
    • PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
    • PHP获取用户访问IP地址的5种方法
    • 通过PHP实现获取访问用户IP
    上一篇:如何优雅的使用 laravel 的 validator验证方法
    下一篇:python进程与线程小结实例分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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