`

PHP获得用户的真实IP地址

    博客分类:
  • PHP
php 
阅读更多
/**
 * 获得用户的真实IP地址
 *
 * @access  public
 * @return  string
 */
function 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;
}

 

分享到:
评论

相关推荐

    php ip地址查询

    在PHP开发中,IP地址查询是一项常见的需求,例如获取用户地理位置、进行访问限制或数据分析等。本篇文章将详细探讨如何在PHP中实现IP地址查询,包括使用API接口和IP地址库文件。 首先,我们需要理解IP地址的基本...

    PHP 根据IP地址获取所在城市

    这部分代码通过一系列条件判断来确保能够从不同的环境中正确地读取到客户端的真实IP地址。具体实现如下: ```php function GetIp() { $realip = ''; $unknown = 'unknown'; if (isset($_SERVER)) { // 依次尝试...

    PHP通过$_SERVER['REMOTE_ADDR']得到的是内网IP?如何才能获得客户的公网IP(真实IP地址).zip

    在PHP开发中,获取用户公网IP(真实IP地址)是一个常见的需求,这通常涉及到网络通信和服务器配置。当我们使用PHP内置的全局数组`$_SERVER`中的`'REMOTE_ADDR'`来获取用户IP时,有时会发现它返回的是内网IP而非公网...

    PHP获取用户访问IP地址的5种方法

    方法三:自定义函数getRealIp获取真实IP地址 我们可以定义一个函数getRealIp,该函数综合考虑HTTP_CLIENT_IP和HTTP_X_FORWARDED_FOR头部信息,甚至还会排除私有地址和保留地址。 ```php function getRealIp() { $ip...

    Yii扩展 IP地址获取识别

    然后,在需要获取IP地址信息的地方,可以调用扩展提供的方法,传入用户请求的IP地址,即可得到对应的国家、地区等地理信息。 例如,你可以在控制器中这样做: ```php use your\extension\IpAddressService; ...

    php获得用户ip地址的比较不错的方法

    在PHP编程中,获取用户真实IP地址是一项常见的需求,特别是在处理访问权限、数据分析或日志记录等场景。本文将深入探讨几种PHP获取用户IP地址的方法,并解析如何在使用代理服务器时确保获取到真实IP。 首先,`...

    PHP记录用户访问ip、浏览器类型和访问时间到txt日志文件

    在PHP编程中,记录用户访问信息,如IP地址、浏览器类型和访问时间,是网站运营和数据分析中的常见需求。这有助于我们了解用户的行为模式,优化网站性能,甚至防范潜在的安全威胁。下面将详细介绍如何实现这一功能,...

    php获取本机真实IP地址实例代码

    本文主要介绍了如何使用PHP代码获取本机的真实IP地址。在不同的操作系统中,获取本机IP地址的方式会有所不同。通过实例代码的演示,我们可以了解到在Windows(包括Windows 2000、XP和Windows 7)和Linux系统下分别...

    PHP获取真实客户端的真实IP

    本文将详细介绍PHP环境下如何获取客户端的真实IP地址。这在Web开发中是一个重要的知识点,尤其当服务器需要精确判断客户端位置或限制恶意访问时。在正常的HTTP通信过程中,客户端的真实IP地址是通过REMOTE_ADDR变量...

    php中获取远程客户端的真实ip地址的方法

    在PHP编程中,获取远程客户端的真实IP地址是一个常见的需求,特别是在需要进行数据分析、安全防护或者地理位置定位等场景。然而,由于互联网中广泛存在的代理服务器,直接获取到的IP地址可能是代理服务器的IP,而非...

    Emlog程序屏蔽用户IP拉黑名单插件

    在很多时候我们需要得到用户的真实IP地址,例如,日志记录,地理定位,将用户信息,网站数据分析等,其实获取IP地址很简单,感兴趣的可以参考一下。 今天给大家带来舍力写的emlog插件:屏蔽IP黑名单插件,此插件有两...

    ThinkPHP根据获取的ip获取地理位置信息

    在IT行业中,尤其是在Web开发领域,常常需要获取用户设备的IP地址,并进一步通过这个IP来获取用户的地理位置信息。ThinkPHP是一个流行的PHP框架,它提供了一系列的功能来帮助开发者处理这类问题。本篇文章将深入探讨...

    以查看在线人数以及IP地址.rar

    标题 "以查看在线人数以及IP地址.rar" 暗示了这个压缩包可能包含一个或多个文件,用于在网站上追踪并显示当前在线用户数量以及他们的IP地址。这通常是网站统计分析的重要部分,有助于理解网站的活跃度和访问者来源。...

    web签名显IP来源地址

    根据《通用数据保护条例》(GDPR)和其他隐私法规,网站需要获得用户的明确同意才能收集和处理他们的个人数据,包括IP地址。因此,很多网站选择在不牺牲功能性的前提下匿名化或混淆IP地址。 Web服务器,如Apache或...

    PHP源码(按IP来区分城市)

    接下来,将IP地址分解为四个部分,并转化为整数,得到`$ipNum`。然后通过二分查找法在索引记录中寻找与`$ipNum`匹配的IP记录。二分查找法可以提高搜索效率,它的基本思想是每次将搜索范围减半,直到找到目标或搜索...

    PHP推断IP并转跳到相应城市分站的方法_.docx

    在PHP中,推断IP地址并根据用户IP自动跳转到相应城市分站是一个常见的功能,主要用于提供地域性服务或个性化用户体验。以下是如何使用PHP实现这个功能的详细步骤: 1. **获取用户IP**: 首先,你需要获取访问网站...

    通过PHP实现获取访问用户IP

    比如,当用户通过代理服务器访问时,$_SERVER["REMOTE_ADDR"]获取到的将是代理服务器的IP地址,而不是用户的真实IP地址。因此,需要采用更高级的方法来解决这个问题。 本文中提到了使用$_SERVER[...

    IP读取与显示php版

    【IP读取与显示php版】是一个基于PHP编程语言开发的应用程序,主要功能是获取并展示用户访问时的IP地址以及其地理位置信息。这个程序包含了内置的数据库,用于存储和匹配IP地址到对应的地理位置,从而实现对用户IP的...

    PHP获得用户使用的代理服务器ip即真实ip

    http://www.phpchina.com/bbs/thread-12239-1-1.html 在PHP 中用 $_SERVER[“REMOTE_ADDR”] 来取得客户端的 IP 地址 但如果客户端是使用代理服务器来访问 那取到的就是代理服务器的 IP 地址 要想透过代理...

    免费的ip数据库淘宝IP地址库简介和PHP调用实例

    首先,通过`getIP`函数获取用户的真实IP地址;然后,通过`getCity`函数调用淘宝IP接口获取IP地理位置信息。示例代码中,使用了`file_get_contents`函数配合JSON解码来获取和解析IP地址信息,并通过`print_r`函数将...

Global site tag (gtag.js) - Google Analytics