zoukankan      html  css  js  c++  java
  • 获得用户的真实IP地址

    /**
    * 获得用户的真实IP地址
    *
    * @access public
    * @return string
    */
    if (!function_exists('get_real_ip'))
    {
    function get_real_ip()
    {
    static $realip = NULL;

    if ($realip !== NULL)
    {
    return $realip;
    }

    if (isset($_SERVER))
    {
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
    {
    $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);

    /* 取X-Forwarded-For中第一个非unknown的有效IP字符串 */
    foreach ($arr AS $ip)
    {
    $ip = trim($ip);

    if ($ip != 'unknown')
    {
    $realip = $ip;

    break;
    }
    }
    }
    elseif (isset($_SERVER['HTTP_CLIENT_IP']))
    {
    $realip = $_SERVER['HTTP_CLIENT_IP'];
    }
    else
    {
    if (isset($_SERVER['REMOTE_ADDR']))
    {
    $realip = $_SERVER['REMOTE_ADDR'];
    }
    else
    {
    $realip = '0.0.0.0';
    }
    }
    }
    else
    {
    if (getenv('HTTP_X_FORWARDED_FOR'))
    {
    $realip = getenv('HTTP_X_FORWARDED_FOR');
    }
    elseif (getenv('HTTP_CLIENT_IP'))
    {
    $realip = getenv('HTTP_CLIENT_IP');
    }
    else
    {
    $realip = getenv('REMOTE_ADDR');
    }
    }

    preg_match("/[d.]{7,15}/", $realip, $onlineip);
    $realip = !empty($onlineip[0]) ? $onlineip[0] : '0.0.0.0';

    return $realip;
    }
    }
  • 相关阅读:
    HTML+CSS面试题汇总(持续更新)
    vue-router
    MongoDB
    闭包
    JavaScript的严格模式
    IO题目
    Java 题目集 编程
    Java题目集 函数
    2.面向对象基础-04继承
    2.面向对象基础-03Java数组
  • 原文地址:https://www.cnblogs.com/brady-wang/p/9908484.html
Copyright © 2011-2022 走看看