客户端ip:
Request.ServerVariables.Get(" Remote_Addr").ToString();
客户端主机名:
Request.ServerVariables.Get(" Remote_Host").ToString();
客户端浏览器IE:
Request.Browser.Browser;
客户端浏览器 版本号:
Request.Browser.MajorVersion;//
客户端操作系统:
Request.Browser.Platform;
服务器ip:
Request.ServerVariables.Get(" Local_Addr").ToString();
服务器名:
Request.ServerVariables.Get(" Server_Name").ToString();
如果你想进一步了解ServerVariables,可以用
foreach(String o in Request.ServerVariables){
Response.Write(o+"="+Request.ServerVariables[o]+"<br>"); }获取客户端IP方法
public string GetIP()
{ string uip = ""; if (HttpContext.Current.Request.ServerVariables[" HTTP_VIA"] != null) { uip = HttpContext.Current.Request.ServerVariables[" HTTP_X_FORWARDED_FOR"].ToString(); } else { uip = HttpContext.Current.Request.ServerVariables[" REMOTE_ADDR"].ToString(); } return uip; }
C# ServerVariables参数说明
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,否则为0Request.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如果请求来自非安全通道,则返回OFFRequest.ServerVariables["Instance_ID"]
IIS实例的ID号Request.ServerVariables["Instance_Meta_Path"]
响应请求的IIS实例的元数据库路径Request.ServerVariables["Http_Accept_Encoding"]
返回內容如:gzip,deflateRequest.ServerVariables["Http_Accept_Language"]
返回內容如:en-usRequest.ServerVariables["Http_Connection"]
返回內容:Keep-AliveRequest.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"]
安全套接字层连接关键字的位数,如128Request.ServerVariables["Https_Secretkeysize"]
服务器验证私人关键字的位数如1024Request.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被设置为1Request.ServerVariables["Cert_Issuer"]
用户证书中的发行者字段Request.ServerVariables["Cert_Keysize"]
安全套接字层连接关键字的位数,如128Request.ServerVariables["Cert_Secretkeysize"]
服务器验证私人关键字的位数如1024Request.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