Request.ServerVariables 获取服务器或者客户端信息
本机ip[客户端]:
request.servervariables("remote_addr")
从哪个页面转到当前页面的:
Request.ServerVariables("HTTP_REFERER")
用户登录WindowsNT®的帐号
Request.ServerVariables("LOGON_USER") or Request.ServerVariables.Get("LOGON_USER")
本机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")%>
获取url中的文件名和传过来的值:request.ServerVariables("script_name")+"?"+request.ServerVariableS("QUERY_STRING")
其中ServerVariables就是服务器的环境变量了,该变量包含的内容比较多,我们同样先采用for循环进行遍历查看下。
<%for each i in request.servervariables%>
<%=i%>:
<%=request.servervariables(i)%>
<hr>
<%Next%>
Request.ServerVariables("HTTP_REFERER")的工作方式
下列情况是从浏览器的地址栏正常取得Request.ServerVariables("HTTP_REFERER")的:
1.直接用<a href>
2.用Submit或<input type=image>提交的表单(POST or GET)
3.使用Jscript提交的表单(POST or GET)
下面我们再看看Request.ServerVariables("HTTP_REFERER")不能正常取值的情况:
1.从收藏夹链接
2.单击''主页''或者自定义的地址
3.利用Jscript的location.href or location.replace()
4.在浏览器直接输入地址
5.<%Response.Redirect%>
6.<%Response.AddHeader%>或<meta http-equiv=refresh>转向
7.用XML加载地址
显然,Request.ServerVariables("HTTP_REFERER")在多数情况下是不能正常工作的
Request.ServerVariables集合
ALL_RAW检索未处理表格中所有的标题。
APPL_MD_PATH检索ISAPIDLL的(WAM)Application的元数据库路径。
APPL_PHYSICAL_PATH检索与元数据库路径相应的物理路径。IIS通过将APPL_MD_PATH转换为物理(目录)路径以返回值。
AUTH_PASSWORD该值输入到客户端的鉴定对话中。只有使用基本鉴定时,该变量才可用。
AUTH_TYPE这是用户访问受保护的脚本时,服务器用于检验用户的验证方法。
AUTH_USER未被鉴定的用户名。
CERT_COOKIE客户端验证的唯一ID,以字符串方式返回。可作为整个客户端验证的签字。
CERT_FLAGS如有客户端验证,则bit0为1。如果客户端验证的验证人无效(不在服务器承认的CA列表中),bit1被设置为1.
CERT_ISSUER用户验证中的颁布者字段(O=MS,OU=IAS,CN=username,C=USA)。
CERT_KEYSIZE安全套接字层连接关键字的位数,如128。
CERT_SECRETKEYSIZE服务器验证私人关键字的位数。如1024。
CERT_SERIALNUMBER用户验证的序列号字段。
CERT_SERVER_ISSUER服务器验证的颁发者字段。
CERT_SERVER_SUBJECT服务器验证的主字段。
CERT_SUBJECT客户端验证的主字段。
CONTENT_LENGTH客户端发出内容的长度。
CONTENT_TYPE内容的数据类型。同附加信息的查询一起使用,如:HTTP查询GET、POST和PUT。
GATEWAY_INTERFACE服务器使用的CGI规格的修订。格式为CGI/revision。
LOGON_USER用户登录WindowsNT®的帐号。
PATH_INFO客户端提供的额外路径信息。可以使用这些虚拟路径和PATH_INFO服务器变量访问脚本。如果该信息来自URL,在到达CGI脚本前就已经由服务器解码了。
PATH_TRANSLATEDPATH_INFO转换后的版本,该变量获取路径并进行必要的由虚拟至物理的映射。
QUERY_STRING查询HTTP请求中问号(?)后的信息。
REMOTE_ADDR发出请求的远程主机的IP地址。
REMOTE_HOST发出请求的主机名称。如果服务器无此信息,它将设置为空的MOTE_ADDR变量。
REMOTE_USER用户发送的未映射的用户名字符串。该名称是用户实际发送的名称,与服务器上验证过滤器修改过后的名称相对。
REQUEST_METHOD该方法用于提出请求。相当于用于HTTP的GET/HEAD/POST等等。
SCRIPT_NAME执行脚本的虚拟路径。用于自引用的URL。
SERVER_NAME出现在自引用UAL中的服务器主机名、DNS化名或IP地址。
SERVER_PORT发送请求的端口号。
SERVER_PORT_SECURE包含0或1的字符串。如果安全端口处理了请求,则为1,否则为0。
SERVER_PROTOCOL请求信息协议的名称和修订。格式为protocol/revision。
SERVER_SOFTWARE应答请求并运行网关的服务器软件的名称和版本。格式为name/version。
被发现隐起的
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")
Request.ServerVariables("HTTP_X_FORWARDED_FOR") 是可以获得位于代理(网关)后面的直接IP,当然必须这个代理支持
Request.ServerVariables 获取服务器或者客户端信息的更多相关文章
- asp.net 获取服务器及客户端的相关信息
1. 在ASP.NET中专用属性:获取服务器电脑名:Page.Server.ManchineName获取用户信息:Page.User获取客户端电脑名:Page.Request.UserHostName ...
- request.ServerVariables获取环境变量
Request.ServerVariables("HTTP_X_FORWARDED_FOR") 透过代理服务器取得客户端的真实IP地址,有些用此方法读取到的仍然是代理服务器的IP ...
- Ajax获取服务器响应头部信息
$.ajax({ type: 'HEAD', // 获取头信息,type=HEAD即可 url : window.location.href, complete: function( xhr,data ...
- c#中获取服务器IP,客户端IP以及Request.ServerVariables详细说明
客户端ip: Request.ServerVariables.Get("Remote_Addr").ToString(); 客户端主机名: Request.ServerVaria ...
- ASP.NET获取客户端信息,获取客户端IP等等
山上明月 ASP.NET能知道的东西 获取服务器电脑名: Page.Server.ManchineName 获取用户信息: Page.User 获取客户端电脑名:Page.Request.UserHo ...
- 常用Request对象获取请求信息
Request.ServerVariables(“REMOTE_ADDR”) ‘获取访问IPRequest.ServerVariables(“LOCAL_ADDR”) ‘同上Request.Serve ...
- C#中获取服务器IP,客户端IP以及网卡物理地址
客户端ip: Request.ServerVariables.Get("Remote_Addr").ToString(); 客户端主机名: Request.ServerVariab ...
- c#中获取服务器IP,客户端IP以及其它
客户端ip:Request.ServerVariables.Get("Remote_Addr").ToString();客户端主机名:Request.ServerVariables ...
- Request.ServerVariables 服务器环境变量
Request.ServerVariables["Url"] 返回服务器地址 Request.ServerVariables["Path_Info"] 客户端提 ...
随机推荐
- VMWARE里启动kylin16.0时出现'SMBus Host Controller not enabled'(还未进入系统)
在Vmware里安装完Ubuntu16.10,启动时出现'SMBus Host Controller not enabled'错误提示,进不到图形界面.网上搜了一下,解决办法是在图形界面里进终端窗口, ...
- SQL SERVER 分区
“索引要与其基表对齐,并不需要与基表参与相同的命名分区函数.但是,索引和基表的分区函数在实质上必须相同,即: 1) 分区函数的参数具有相同的数据类型: 2) 分区函数定义了相同数目的分区: 3) 分区 ...
- apache与nginx的虚拟域名配置
由于开发需求,项目有时候需要设置虚拟域名进行测试.下面是分别是apache和nginx的配置 一.apache 环境:wampserver2.5 1.修改host文件 C:\Windows\Syste ...
- refactor window_x64微信小程序环境搭建
所需文件地址如下: https://github.com/zsyzsy/weixinxiaochengxun 1.下载微信开发工具0.7.0_x64 安装完成后,打开程序,进行微信扫码登录 2.下 ...
- 关于Application.Lock和Lock(obj) 转 http://www.cnblogs.com/yeagen/archive/2012/03/01/2375610.html
关于Application.Lock和Lock(obj) Posted on 2012-03-01 15:28 billpeng 阅读(3498) 评论(3) 编辑 收藏 1.Application. ...
- Discuz! X论坛上传附件到100%自动取消上传的原因及解决方案
最近接到一些站长的反馈,说论坛上传附件,到100%的时候自己取消上传了.经查是附件索引表pre_forum_attachment表的aid字段自增值出现了问题,导致程序逻辑返回的aid值实际为一个My ...
- [MISS静IOS开发原创文摘]-AppDelegate存储全局变量和 NSUserDefaults standardUserDefaults 通过模型保存和读取数据,存储自定义的对象
由于app开发的需求,需要从api接口获得json格式数据并保存临时的 app的主题颜色 和 相关url 方案有很多种: 1, 通过AppDelegate保存为全局变量,再获取 2,使用NSUSerD ...
- linux 下mysql 开启远程连接
系统通过netstat -ntlp 来查看正在运行服务所使用的端口 ,查看3306端口是否开启. 防火墙iptables 如果是新装的 系统, 一般不用管这个因素,不过我们也先 用service i ...
- redis配置
# Redis 配置文件 # 当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写)## 1k => 1000 bytes# 1kb => ...
- C++ 之引用
int argc ,char * argv[] - argument count & argument vector argc - 命令行参数个数,argv[]依次指向每一个命令行参数,其中a ...