ASP如何获取真实IP地址_ASP基础

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

  不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP。

  还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 取到的值将是空的。因此,如果要在程序中使用此方法,可以这样处理:

......
userip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If userip = "" Then userip = Request.ServerVariables("REMOTE_ADDR")
......

  即:如果客户端通过代理服务器,则取 HTTP_X_FORWARDED_FOR 的值,如果没通过代理服务器,就取 REMOTE_ADDR 的值。

时间: 2024-09-30 11:10:59

ASP如何获取真实IP地址_ASP基础的相关文章

ASP如何获取真实IP地址

ip地址 在 ASP 中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的 IP 地址,但如果客户端是使用代理服务 器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址.要想透过代理服务器取得客户端的真实 IP 地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取. 不过要注意的事,并不是每个代理服务器都能用 Request.S

[原创]分析解决lvs fullnat模式下后端服务器获取真实IP地址异常问题

摘要 分析解决lvs fullnat模式下少量的请求记录client IP不是用户真实的IP地址问题. 原创文章:来自分析lvs fullnat模式下后端服务器获取真实IP地址异常问题 问题背景 lvs fullnat模式下观察后端服务器realserver http/https业务运行系统日志,有时候可以发现有少量的请求记录的client IP不是用户真实的IP地址(存在但出现的概率很小,增加了问题排查的难度),而是属于lvs主机私有的IP地址.关于fullnat的简介可以参考http://w

使用阿里云来做服务端,udp传输协议,如何获取真实ip地址?

问题描述 使用阿里云来做服务端,udp传输协议,如何获取真实ip地址? 使用阿里云来做服务端,udp传输协议,如何获取真实ip地址? 解决方案 谁获得谁的真实ip.你怎么定义"真实ip"? 首先,你的服务器天然可以获得客户端公网的ip,你的客户端天然可以获得服务器的ip 至于你要获得客户端的私有ip,你可以在客户端获得了,作为你udp数据包的一部分发给服务端.

asp.net获取真实ip的方法_实用技巧

本文实例讲述了asp.net获取真实ip的方法.分享给大家供大家参考.具体如下: public string getip() { string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (null == result || result == String.Empty) { result = HttpContext.Current.Request.ServerVari

如何用ASP获取真实IP地址

大家都知道,在ASP中可以使用Request.ServerVariables("REMOTE_ADDR")来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址.要想透过代理服务器取得客户端的真实IP地址,就要使用Request.ServerVariables("HTTP_X_FORWARDED_FOR")来读取. 不过要注意的是,并不是每个代理服务器都能用Request.ServerVariable

JSP 获取真实IP地址的代码_JSP编程

但是在通过了 Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP. 经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的 IP,服务器端应用也无法直接通过转发请求的地址返回给客户端.但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息.用以跟踪原有的客户端

php中获取真实IP地址与IP地址验证函数

获取用户真实IP地址  代码如下 复制代码 function get_client_ip( ) {         if ( getenv( "REMOTE_ADDR" ) && strcasecmp( getenv( "REMOTE_ADDR" ), "unknown" ) )         {                 $onlineip = getenv( "REMOTE_ADDR" );    

拨开迷雾 用ASP寻找到真实IP地址的方法

ip地址 众所周知,得到IP地址的方法是 <%=Request.ServerVariables("REMOTE_ADDR")%> 可如果客户使用的代理服务器,那么用这个方法得到了就是代理服务器的IP了,下面是穿透服务器得到真实IP的代码: function GetIp()dim realip,proxyrealip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")proxy = Request.Serve

一个ASP.NET获取用户IP地址公共类

  一个ASP.NET环境下获取用户IP的公共类,在很多时候,我们需要记录访问者的IP,本类可高效率获取客户端的IP地址,使用的是System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString(); 完整的代码如下: