`
Robinson
  • 浏览: 92028 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

php获取IP地址(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)

    博客分类:
  • PHP
PHP 
阅读更多

php获取IP地址(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)

一、没有使用代理服务器的情况:

      REMOTE_ADDR = 您的 IP
      HTTP_VIA = 没数值或不显示
      HTTP_X_FORWARDED_FOR = 没数值或不显示

二、使用透明代理服务器的情况:Transparent Proxies

      REMOTE_ADDR = 最后一个代理服务器 IP
      HTTP_VIA = 代理服务器 IP
      HTTP_X_FORWARDED_FOR = 您的真实 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

   这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。

三、使用普通匿名代理服务器的情况:Anonymous Proxies

      REMOTE_ADDR = 最后一个代理服务器 IP
      HTTP_VIA = 代理服务器 IP
      HTTP_X_FORWARDED_FOR = 代理服务器 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

   隐藏了您的真实IP,但是向访问对象透露了您是使用代理服务器访问他们的。

四、使用欺骗性代理服务器的情况:Distorting Proxies

      REMOTE_ADDR = 代理服务器 IP
      HTTP_VIA = 代理服务器 IP
      HTTP_X_FORWARDED_FOR = 随机的 IP ,经过多个代理服务器时,这个值类似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

   告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机IP代替您的真实IP欺骗它。

五、使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)

      REMOTE_ADDR = 代理服务器 IP
      HTTP_VIA = 没数值或不显示
      HTTP_X_FORWARDED_FOR = 没数值或不显示 ,经过多个代理服务器时,这个值类似如下:   

203.98.182.163,

203.98.182.163,

203.129.72.215。

分享到:
评论

相关推荐

    php获取ip的三个属性区别介绍(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)

    获取用户IP地址的三个属性的区别HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR,需要的朋友可以参考下

    php六种获取ip地址的方法

    3. 如果不是代理访问或`HTTP_X_FORWARDED_FOR`不存在,则使用`REMOTE_ADDR`获取客户端IP。 #### 方法五:自定义函数处理多个来源 **代码示例:** ```php function get_real_ip() { $ip = false; if (!empty($_...

    PHP实现获取ip地址的5种方法,以及插入用户登录日志操作示例

    本文实例讲述了PHP实现获取ip地址的5种方法,以及插入用户登录日志操作。分享给大家供大家参考,... $_SERVER[HTTP_X_FORWARDED_FOR] : $_SERVER[REMOTE_ADDR]; $ip = ($ip) ? $ip : $_SERVER[REMOTE_ADDR]; echo $ip;

    php REMOTE_ADDR之获取访客IP的代码

    在PHP编程中,获取访客的IP地址是常见的需求,特别...总结来说,获取访客IP地址需综合考虑多种因素,包括直接使用`REMOTE_ADDR`,检查`HTTP_X_FORWARDED_FOR`和`HTTP_CLIENT_IP`,以及在必要时处理可能存在的多级代理。

    php获取访问者IP地址汇总

    $_SERVER[“HTTP_X_FORWARDED_FOR”] : $_SERVER[“REMOTE_ADDR”]; $user_IP = ($user_IP) ? $user_IP : $_SERVER[“REMOTE_ADDR”]; echo $user_IP; //方法3: function getRealIp() { $ip=false; if(!empty...

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

    当用户通过代理服务器访问网站时,可以通过HTTP_X_FORWARDED_FOR头部获取实际的访问者IP地址。需要注意的是,HTTP_X_FORWARDED_FOR可能包含多个IP地址,这时需要进行适当的处理。 ```php $user_IP = ($_SERVER[...

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

    例如,通过遍历HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR, REMOTE_ADDR这几个头部信息,并使用正则表达式对获取到的IP地址进行格式校验,从而选择合适的真实IP地址。 示例代码如下: ```php $ip = ''; foreach (array...

    ASP.NET获取IP的方法

    当客户端通过代理服务器访问时,需要通过`HTTP_X_FORWARDED_FOR`头来获取客户端的真实IP地址。这是因为客户端请求首先到达代理服务器,代理服务器再将请求转发至目标服务器,此时原始客户端IP可能被替换为代理服务器...

    ASP.NET获取真正的客户端IP地址的6种方法

    在ASP中使用 Request.ServerVariables(“REMOTE_ADDR”) 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址。 要想透过代理服务器取得客户端的...

    php获取用户所在的城市

    这是因为客户端可能通过代理服务器访问网站,因此`$_SERVER['HTTP_X_FORWARDED_FOR']`会包含经过的所有代理服务器的IP地址,而`$_SERVER['REMOTE_ADDR']`则会直接返回客户端的真实IP地址。 下面是一段示例代码: `...

    PHP获取客户端真实IP地址的5种情况分析和实现代码

    在没有使用代理服务器的情况下,`REMOTE_ADDR`将显示真实的客户端IP地址,而`HTTP_X_FORWARDED_FOR`和`HTTP_VIA`将不会显示或者为空值。 2. **使用透明代理服务器** 透明代理会将客户端的真实IP地址包含在`...

    PHP 获取客户端真实IP地址多种方法小结

    这段代码首先检查`HTTP_VIA`,如果存在则使用`HTTP_X_FORWARDED_FOR`,否则回退到`REMOTE_ADDR`。 5. **注意安全问题** 获取客户端IP时,应意识到这些方法可能会受到欺骗或攻击。比如,用户可以通过修改HTTP头...

    asp.net 获取IP的相关资料

    这段代码首先检查`HTTP_VIA`,如果存在则尝试从`HTTP_X_FORWARDED_FOR`中获取第一个IP地址。然而,这种方法存在风险,因为`HTTP_X_FORWARDED_FOR`和`HTTP_VIA`的值是可以被篡改的,可能导致安全问题,如SQL注入。 ...

    asp.net获取客户端IP用户名等信息

    此时,可以尝试从HTTP_X_FORWARDED_FOR头部获取原始客户端IP: ```csharp if (Request.ServerVariables["HTTP_VIA"] != null) { string user_IP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); ...

    thinkphp如何获取客户端IP

    在这种情况下,`HTTP_X_FORWARDED_FOR`头可能包含多个IP地址,我们需要处理这种情况,确保返回的是实际客户端的IP。 除了上述方法,还有其他方式可以获取客户端IP,例如使用`$_SERVER`数组中的其他成员,如`...

    PHP 获取ip地址代码汇总

    在实际应用中,由于用户可能会通过多层代理访问,因此在获取IP地址时,可能需要从`$_SERVER['HTTP_X_FORWARDED_FOR']`获取一个由逗号分隔的IP地址列表。我们需要对列表中的每一个IP进行判断,以找到最接近用户真实IP...

    Asp.net获取客户端IP常见代码存在的伪造IP问题探讨

    1. **多源验证**:不要仅依赖一个头部信息,而是结合`HTTP_X_FORWARDED_FOR`、`HTTP_VIA`和`REMOTE_ADDR`等多种来源进行验证。优先考虑`REMOTE_ADDR`,但在代理环境时,可以检查`HTTP_X_FORWARDED_FOR`的第一个非空...

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

    `$_SERVER["HTTP_VIA"]`和`$_SERVER["HTTP_X_FORWARDED_FOR"]`通常用于检测代理服务器,当用户通过代理访问时,`HTTP_X_FORWARDED_FOR`会返回客户端的真实IP。如果没有这些信息,就使用`$_SERVER["REMOTE_ADDR"]`...

    PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码

    在讨论IP地址的获取时,`REMOTE_ADDR`、`HTTP_CLIENT_IP`和`HTTP_X_FORWARDED_FOR`是PHP中常用的几个变量,它们分别代表不同的IP信息来源: 1. `REMOTE_ADDR`:通常代表客户端(浏览器)的IP地址,除非经过代理。 2...

Global site tag (gtag.js) - Google Analytics