`
michaellou
  • 浏览: 56386 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

获取用户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地址的方法

    2. 然后检查`HTTP_X_FORWARDED_FOR`,处理其中可能存在的多个IP地址,并排除私有IP范围。 3. 如果以上步骤都无法获取IP,则使用`REMOTE_ADDR`。 #### 方法六:组合使用$_SERVER与getenv() **代码示例:** ```php ...

    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获取用户所在的城市

    通常来说,可以尝试从`$_SERVER['HTTP_X_FORWARDED_FOR']`或`$_SERVER['REMOTE_ADDR']`这两个变量中读取客户端的IP地址。这是因为客户端可能通过代理服务器访问网站,因此`$_SERVER['HTTP_X_FORWARDED_FOR']`会包含...

    ASP.NET获取IP的方法

    需要注意的是,`HTTP_X_FORWARDED_FOR`可能会包含多个IP地址,以逗号分隔,这些IP地址是从客户端到服务器的路径上所有代理服务器的IP地址。在这种情况下,通常使用第一个IP地址作为客户端的真实IP。 #### 方法三:...

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

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

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

    2. 使用透明代理服务器时,REMOTE_ADDR会返回最后一个代理服务器的IP地址,HTTP_VIA会显示代理服务器IP,HTTP_X_FORWARDED_FOR则显示用户的真实IP。 3. 使用普通匿名代理服务器时,REMOTE_ADDR同样返回最后一个代理...

    asp.net 获取IP的相关资料

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

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

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

    thinkphp如何获取客户端IP

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

    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(); ...

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

    - `getenv('HTTP_X_FORWARDED_FOR')` 或 `$_SERVER['HTTP_X_FORWARDED_FOR']` 是HTTP头部字段,通常在经过多个代理服务器时会被填充,包含一系列IP地址,第一个是用户的原始IP,最后一个通常是最后的代理IP。...

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

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

    c#获取客户端IP地址(考虑代理)

     在Web开发中,我们大多都习惯使用HTTP请求头中的某些属性来获取客户端的IP地址,常见的属性是REMOTE_ADDR、HTTP_VIA和HTTP_X_FORWARDED_FOR。  这三个属性的含义,大概是如此:(摘自网上,欢迎指正)  

    PHP 获取ip地址代码汇总

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

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

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

Global site tag (gtag.js) - Google Analytics