`

Request.ServerVariables详细说明及代理

阅读更多

ServerVariables是环境变量的集合。允许读取HTTP头。你可以通过使用HTTP_前缀来读取任何头信息。

Request.ServerVariables["Url"]


返回服务器地址

Request.ServerVariables["Path_Info"]


客户端提供的路径信息

Request.ServerVariables["Appl_Physical_Path"]


与应用程序元数据库路径相应的物理路径

Request.ServerVariables["Path_Translated"]


通过由虚拟至物理的映射后得到的路径

Request.ServerVariables["Script_Name"]


执行脚本的名称

Request.ServerVariables["Query_String"]


查询字符串內容

Request.ServerVariables["Http_Referer"]


请求的字符串內容

Request.ServerVariables["Server_Port"]


接受请求的服务器端口号

Request.ServerVariables["Remote_Addr"]


发出请求的远程主机的IP地址

Request.ServerVariables["Remote_Host"]


发出请求的远程主机名称

Request.ServerVariables["Local_Addr"]


返回接受请求的服务器地址

Request.ServerVariables["Http_Host"]


返回服务器地址

Request.ServerVariables["Server_Name"]


服务器的主机名、DNS地址或IP地址

Request.ServerVariables["Request_Method"]


提出请求的方法比如GET、HEAD、POST等等

Request.ServerVariables["Server_Port_Secure"]


如果接受请求的服务器端口为安全端口时,则为1,否则为0

Request.ServerVariables["Server_Protocol"]


服务器使用的协议的名称和版本

Request.ServerVariables["Server_Software"]


应答请求并运行网关的服务器软件的名称和版本

Request.ServerVariables["All_Http"]


客户端发送的所有HTTP标头,前缀HTTP_

Request.ServerVariables["All_Raw"]


客户端发送的所有HTTP标头,其结果和客户端发送时一样,没有前缀HTTP_

Request.ServerVariables["Appl_MD_Path"]


应用程序的元数据库路径

Request.ServerVariables["Content_Length"]


客户端发出內容的长度

Request.ServerVariables["Https"]


如果请求穿过安全通道(SSL),则返回ON如果请求来自非安全通道,则返回OFF

Request.ServerVariables["Instance_ID"]


IIS实例的ID号

Request.ServerVariables["Instance_Meta_Path"]


响应请求的IIS实例的元数据库路径

Request.ServerVariables["Http_Accept_Encoding"]
返回內容如:gzip,deflate

 

Request.ServerVariables["Http_Accept_Language"]
返回內容如:en-us

 

Request.ServerVariables["Http_Connection"]
返回內容:Keep-Alive

 

Request.ServerVariables["Http_Cookie"]
返回內容如:nVisiT%

2DYum=125;ASPSESSIONIDCARTQTRA=FDOBFFABJGOECBBKHKGPFIJI;ASPSESSIONIDCAQQTSRB=LKJJPLABABILLPCOGJGAMKAM;ASPSESSIONIDACRRSSRA=DK

HHHFBBJOJCCONPPHLKGHPB

 

Request.ServerVariables["Http_User_Agent"]
返回內容:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)

 

Request.ServerVariables["Https_Keysize"]
安全套接字层连接关键字的位数,如128

 

Request.ServerVariables["Https_Secretkeysize"]
服务器验证私人关键字的位数如1024

 

Request.ServerVariables["Https_Server_Issuer"]
服务器证书的发行者字段

 

Request.ServerVariables["Https_Server_Subject"]
服务器证书的主题字段

 

Request.ServerVariables["Auth_Password"]
当使用基本验证模式时,客户在密码对话框中输入的密码

 

Request.ServerVariables["Auth_Type"]
是用户访问受保护的脚本时,服务器用於检验用户的验证方法

 

Request.ServerVariables["Auth_User"]
代证的用户名

 

Request.ServerVariables["Cert_Cookie"]
唯一的客户证书ID号

 

Request.ServerVariables["Cert_Flag"]
客户证书标誌,如有客户端证书,则bit0为0如果客户端证书验证无效,bit1被设置为1

 

Request.ServerVariables["Cert_Issuer"]
用户证书中的发行者字段

 

Request.ServerVariables["Cert_Keysize"]
安全套接字层连接关键字的位数,如128

 

Request.ServerVariables["Cert_Secretkeysize"]
服务器验证私人关键字的位数如1024

 

Request.ServerVariables["Cert_Serialnumber"]
客户证书的序列号字段

 

Request.ServerVariables["Cert_Server_Issuer"]
服务器证书的发行者字段

 

Request.ServerVariables["Cert_Server_Subject"]
服务器证书的主题字段

 

Request.ServerVariables["Cert_Subject"]
客户端证书的主题字段

 

Request.ServerVariables["Content_Type"]
客户发送的form內容或HTTPPUT的数据类型

 

Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
可以获得位于代理(网关)后面的直接IP,当然必须这个代理支持


一些被隐藏起来的Request.ServerVariables参数:
Request.ServerVariables["NUMBER_OF_PROCESSORS"]
Request.ServerVariables["OS"]
Request.ServerVariables["WINDIR"]
Request.ServerVariables["TEMP"]
Request.ServerVariables["TMP"]
Request.ServerVariables["ComSpec"]
Request.ServerVariables["Os2LibPath"]
Request.ServerVariables["Path"]
Request.ServerVariables["PATHEXT"]
Request.ServerVariables["PROCESSOR_ARCHITECTURE"]
Request.ServerVariables["PROCESSOR_IDENTIFIER"]
Request.ServerVariables["PROCESSOR_LEVEL"]
Request.ServerVariables["PROCESSOR_REVISION"]


本机ip:<%=request.servervariables["remote_addr"]%>


服务器名:<%=Request.ServerVariables["SERVER_NAME"]%>


服务器IP:<%=Request.ServerVariables["LOCAL_ADDR"]%>


服务器端口:<%=Request.ServerVariables["SERVER_PORT"]%>


服务器时间:<%=now%>


IIS版本:<%=Request.ServerVariables["SERVER_SOFTWARE"]%>


脚本超时时间:<%=Server.ScriptTimeout%>


本文件路径:<%=server.mappath(Request.ServerVariables["SCRIPT_NAME"])%>


服务器CPU数量:<%=Request.ServerVariables["NUMBER_OF_PROCESSORS"]%>


服务器解译引擎:<%=ScriptEngine & "/"& ScriptEngineMajorVersion&"."&ScriptEngineMinorVersion&"."& ScriptEngineBuildVersion %>


服务器操作系统:<%=Request.ServerVariables["OS"]%>


支持的文件类型:<%=Request.ServerVariables["HTTP_Accept"]%>


访问的文件路径:<%=Request.ServerVariables["HTTP_url"]%>


用户代理的信息:<%=Request.ServerVariables["HTTP_USER_AGENT"]%>



Request.ServerVariables变量意义. http代理相关知识
Request.ServerVariables["HTTP_VIA"]---------可以获得用户内部的ip
Request.ServerVariables["HTTP_X_FORWARDED_FOR"]---------可以知道代理服务器的服务器名以及端口
Request.ServerVariables["REMOTE_ADDR"]-- 发出请求的远程主机的 IP 地址。

 

http代理相关知识
关键就在HTTP_X_FORWARDED_FOR
使用不同种类代理服务器,上面的信息会有所不同:

 

一、没有使用代理服务器的情况:
REMOTE_ADDR = 您的 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示

 

二、使用透明代理服务器的情况:Transparent Proxies
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 您的真实 IP
这类代理服务器还是将您的信息转发给您的访问对象,无法达到隐藏真实身份的目的。

 

三、使用普通匿名代理服务器的情况:Anonymous Proxies
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 代理服务器 IP
隐藏了您的真实IP,但是向访问对象透露了您是使用代理服务器访问他们的。

 

四、使用欺骗性代理服务器的情况:Distorting Proxies
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 随机的 IP
告诉了访问对象您使用了代理服务器,但编造了一个虚假的随机IP代替您的真实IP欺骗它。

 

五、使用高匿名代理服务器的情况:High Anonymity Proxies (Elite proxies)
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 没数值或不显示
HTTP_X_FORWARDED_FOR = 没数值或不显示

 

private String GetUserIp()
    {
        if (Request.ServerVariables["HTTP_VIA"]!=null)//有代理服务器IP
        {
            return Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();//得到真实IP
        }
        else
        {
            return Request.ServerVariables["REMOTE_ADDR"].ToString();
        }
    }

 

分享到:
评论

相关推荐

    Request.ServerVariables

    Request.ServerVariables Request.ServerVariables Request.ServerVariables Request.ServerVariables

    Request.ServerVariables参数集

    Request.ServerVariables参数集,本人博客有详细信息 http://gaobo403163953.blog.163.com

    asp中Request.ServerVariables的参数集合

    主要介绍了asp中Request.ServerVariables的参数集合,需要的朋友可以参考下

    asp.net Request.ServerVariables[] 读解

    获取客户端的IP地址,代码如下: 代码如下: /// &lt;summary&gt; /// 获取客户端IP地址 /// &lt;/summary&gt; /// &lt;returns&gt;&lt;/returns&gt; public string GetClientIP() { string userIP = Request.ServerVariables[...

    获取客户端IP函数详细做法

    获取客户端IP函数详细做法, Function getIP() Dim strIPAddr If Request.ServerVariables("HTTP_X_FORWARDED_FOR") = "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown") &gt;0 Then ...

    C#实用类集DdotNet

    ip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString(); else ip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"].ToString(); if (ip....

    ASP如何获取真实IP地址

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

    ASP获取ip地址_服务器时间等

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

    request对象与作用

    如:&lt;%=request.ServerVariables("server_name")%&gt;获取域名 Request.ServerVariables(Url) 返回服务器地址 Request.ServerVariables(Path_Info) 客户端提供的路径信息 Request.ServerVariables(Appl_Physical_...

    C# IP定位代码实例

    result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; if (result == null || result == String.Empty) result = HttpContext.Current.Request.UserHostAddress; return result; } } #...

    Request_ServerVariables参数详解

    Request_ServerVariables参数总结详解,查询服务器信息,就用到它了,服务器IP、域名等查询方法俱全

    .NET常用Request获取信息总结

    Request.ServerVariables(“REMOTE_ADDR”) ‘获取访问IPRequest.ServerVariables(“LOCAL_ADDR”) ‘同上Request.ServerVariables(“SERVER_NAME”) ‘获取服务器IPRequest.ServerVariables(“HTTP_REFERER”) ...

    asp.net中Request.QueryString与Request.Param的区别分析

    request.params其实是一个集合,它依次包括request.querystring、request.form、request.cookies和request.servervariables。 如果要在两个页面传递数据的话,只能用request.querystring、request.form、request....

    asp获取服务器信息.txt

    Request.ServerVariables("Url") 返回服务器地址 Request.ServerVariables("Path_Info") 客户端提供的路径信息 Request.ServerVariables("Appl_Physical_Path") 与应用程序元数据库路径相应的物理路径 ...

    asp.net获取真实ip的方法

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

    几个常用的ASP函数

    ========取得带端口的URL,推荐使用================ Function Get_ScriptNameUrl() If request.servervariables(“SERVER_PORT”)=”80″ Then Get_ScriptNameUrl=”http://” & request.servervariables...

    asp WAP获取手机终端信息的一段代码

     Dim Ip,number,mobiletype,loca,uri Dim Conn,Sql,Rs Ip=Request.ServerVariables(“REMOTE_ADDR”) uri=Request.ServerVariables(“PATH_INFO”) number1=Request.ServerVariables ( ...

    asp经常被忽视的一种死循环

    Url=Request.ServerVariables(“HTTP_REFERER”) Response.Redirect Url %&gt; 您可能感兴趣的文章:详细讲解ASP脚本循环语句asp下循环一行多少个asp循环行数输出函数asp.net for循环语句asp.net使用for循环实现...

Global site tag (gtag.js) - Google Analytics