Bobby

聚沙成塔 集腋成裘
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ASP中Request.ServerVariables的使用

Posted on 2006-02-23 16:41  Bobby  阅读(1231)  评论(0编辑  收藏  举报
ALL_HTTP客户端发送的所有HTTP标题文件。
ALL_RAW检索未处理表格中所有的标题。
APPL_MD_PATH检索ISAPIDLL的(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=username,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用户登录WindowsNT®的帐号。
PATH_INFO客户端提供的额外路径信息。可以使用这些虚拟路径和PATH_INFO服务器变量访问脚本。如果该信息来自URL,在到达CGI脚本前就已经由服务器解码了。
PATH_TRANSLATEDPATH_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,当然必须这个代理支持

微软的英文版解释
http://www.microsoft.com/windows2000 ... /htm/asp/vbob5vsj.htm
 
_______________________________________________________________________________________________________________

下列内容保存为asp文件上传服务器.
_______________________________________________________________________________________________________________
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<LINK href="../css/body.css" rel=stylesheet type=text/css>
</head>
<body bgcolor="#D6DFF7" topmargin="0">
        <table width="85%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#0099FF" style="border-collapse: collapse">
  <tr>
    <td colspan="2">服务器系统信息统计:</td>
  </tr>
  <tr>
    <td width="47%"><font face="Verdana, Arial, Helvetica, sans-serif">服务器类型:<%=Request.ServerVariables("OS")%>(IP:<%=Request.ServerVariables("LOCAL_ADDR")%>)</font></td>
    <td width="53%">站点物理路径:<%=request.ServerVariables("APPL_PHYSICAL_PATH")%></td>
  </tr>
  <tr>
    <td width="47%"><font face="Verdana, Arial, Helvetica, sans-serif">返回服务器的主机名,DNS别名,或IP地址:<font color=blue><%=Request.ServerVariables("SERVER_NAME")%></font></font></td>
    <td width="53%"><font face="Verdana, Arial, Helvetica, sans-serif">服务器操作系统:<font color=blue><%=Request.ServerVariables("OS")%></font></font></td>
 
 
 
 
 
 
 
  </tr>
  <tr>
    <td width="47%"><font face="Verdana, Arial, Helvetica, sans-serif">脚本解释引擎:<%=ScriptEngine & "/"& ScriptEngineMajorVersion &"."&ScriptEngineMinorVersion&"."& ScriptEngineBuildVersion %></font> </td>
    <td width="53%"><font face="Verdana, Arial, Helvetica, sans-serif">WEB服务器的名称和版本:<font color=blue><%=Request.ServerVariables("SERVER_SOFTWARE")%></font></font></td>
  </tr>
  <tr>
    <td width="47%"><font face="Verdana, Arial, Helvetica, sans-serif">JRO.JetEngine(ACCESS
      数据库):
      <%
     On Error Resume Next
     Server.CreateObject("JRO.JetEngine")
  if err=0 then
    response.write("<font color=blue>√</font>")
  else
          response.write("<font color=red>×</font>")
  end if 
  err=0
   %>
      </font></td>
    <td width="53%"><font face="Verdana, Arial, Helvetica, sans-serif">CDONTS组件支持:
      <%
     On Error Resume Next
     Server.CreateObject("CDONTS.NewMail")
  if err=0 then
    response.write("<font color=blue>√</font>")
  else
          response.write("<font color=red>×</font>")
  end if 
  err=0
   %>
      </font></td>
  </tr>
  <tr>
    <td width="47%"><font face="Verdana, Arial, Helvetica, sans-serif">FSO文本文件读写:
      <%
     On Error Resume Next
     Server.CreateObject("Scripting.FileSystemObject")
  if err=0 then
    response.write("<font color=blue>√</font>")
  else
          response.write("<font color=red>×</font>")
  end if 
  err=0
   %>
      </font></td>
    <td width="53%"><font face="Verdana, Arial, Helvetica, sans-serif">Jmail组件支持
      <font color="#0033FF">
      <%If Not IsObjInstalled(theInstalledObjects(13)) Then%>
      <font color="#FF0000">×</font></font></font> <font color="#0033FF" face="Verdana, Arial, Helvetica, sans-serif">
      <%else%>
      √
      <%end if%>
      </font></td>
  </tr>
  <tr>
    <td>脚本超时时间:<%=Server.ScriptTimeout%> 秒</td>
    <td>返回服务器处理请求的端口:<%=Request.ServerVariables("SERVER_PORT")%></td>
  </tr>
  <tr>
    <td width="47%">显示执行 SCRIPT 的虚拟路径:<%=Request.ServerVariables("SCRIPT_NAME")%></td>
    <td width="53%">协议的名称和版本:<%=Request.ServerVariables("SERVER_PROTOCOL")%></td>
  </tr>
 
 
  <tr>
   <td width="47%"><font face="Verdana, Arial, Helvetica, sans-serif">AUTH_USER:<font color=blue><%=Request.ServerVariables("AUTH_USER")%></font></font></td>
    <td width="53%"><font face="Verdana, Arial, Helvetica, sans-serif">OS:<font color=blue><%=Request.ServerVariables("OS")%></font></font></td>
 </tr>
 <tr>
   <td width="47%"><font face="Verdana, Arial, Helvetica, sans-serif">WINDIR:<font color=blue><%=Request.ServerVariables("WINDIR")%></font></font></td>
    <td width="53%"><font face="Verdana, Arial, Helvetica, sans-serif">TEMP:<font color=blue><%=Request.ServerVariables("TEMP")%></font></font></td>
 </tr>
 <tr>
   <td width="47%"><font face="Verdana, Arial, Helvetica, sans-serif">ComSpec:<font color=blue><%=Request.ServerVariables("ComSpec")%></font></font></td>
    <td width="53%"><font face="Verdana, Arial, Helvetica, sans-serif">Os2LibPath:<font color=blue><%=Request.ServerVariables("Os2LibPath")%></font></font></td>
 </tr>
 <tr>
   <td width="47%"><font face="Verdana, Arial, Helvetica, sans-serif">Path:<font color=blue><%=Request.ServerVariables("Path")%></font></font></td>
    <td width="53%"><font face="Verdana, Arial, Helvetica, sans-serif">PATHEXT:<font color=blue><%=Request.ServerVariables("PATHEXT")%></font></font></td>
 </tr>
 <tr>
   <td width="47%"><font face="Verdana, Arial, Helvetica, sans-serif">PROCESSOR_ARCHITECTURE:<font color=blue><%=Request.ServerVariables("PROCESSOR_ARCHITECTURE")%></font></font></td>
    <td width="53%"><font face="Verdana, Arial, Helvetica, sans-serif">PROCESSOR_IDENTIFIER:<font color=blue><%=Request.ServerVariables("PROCESSOR_IDENTIFIER")%></font></font></td>
 </tr>
 <tr>
   <td width="47%"><font face="Verdana, Arial, Helvetica, sans-serif">PROCESSOR_LEVEL:<font color=blue><%=Request.ServerVariables("PROCESSOR_LEVEL")%></font></font></td>
    <td width="53%"><font face="Verdana, Arial, Helvetica, sans-serif">CERT_SERIALNUMBER:<font color=blue><%=Request.ServerVariables("CERT_SERIALNUMBER")%></font></font></td>
 </tr>
 <tr>
   <td width="47%"><font face="Verdana, Arial, Helvetica, sans-serif">LOGON_USER:<font color=blue><%=Request.ServerVariables("LOGON_USER")%></font></font></td>
    <td width="53%"><font face="Verdana, Arial, Helvetica, sans-serif">服务器操作系统:<font color=blue><%=Request.ServerVariables("SERVER_NAME")%></font></font></td>
 </tr>
</table>
<TABLE BORDER="1">
<TR><TD><B>Server Variable</B></TD><TD><B>Value</B></TD></TR>
<% For Each strKey In Request.ServerVariables %>
<TR><TD> <%= strKey %> </TD><TD>  <%= Request.ServerVariables(strKey) %> </TD></TR>
<% Next %>
</TABLE>

<!-- This example displays the content of several ServerVariables. -->
ALL_HTTP server variable =
<%= Request.ServerVariables("ALL_HTTP") %> <BR>
CONTENT_LENGTH server variable =
<%= Request.ServerVariables("CONTENT_LENGTH") %> <BR>
CONTENT_TYPE server variable =
<%= Request.ServerVariables("CONTENT_TYPE") %> <BR>
QUERY_STRING server variable =
<%= Request.ServerVariables("QUERY_STRING") %> <BR>
SERVER_SOFTWARE server variable =
<%= Request.ServerVariables("SERVER_SOFTWARE") %> <BR>

<A HREF = "http://<%= Request.ServerVariables("SERVER_NAME") %>
/scripts/MyPage.asp">Link to MyPage.asp</A>

<%
dim remoteaddr
if Request.ServerVariables("HTTP_X_FORWARDED_FOR")=empty then
remoteaddr=Request.ServerVariables("REMOTE_ADDR")
else
remoteaddr=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
end if
Response.Write(GetMac(remoteaddr))
function GetMac(IP)
On Error Resume Next
Dim oScript
Dim oFileSys, oFile
Dim All, szTempFile,ipc,phyc,typec
Dim TempPath
Set oScript = Server.CreateObject("WSCRIPT.SHELL")
Set oFileSys = Server.CreateObject("Scripting.FileSystemObject")
TempPath="c:\temp\"
szTempFile = TempPath & oFileSys.GetTempName()
Call oScript.Run ("cmd.exe /c ping -n 2 " & IP, 0, True)
Call oScript.Run ("cmd.exe /c arp -a " & IP & " > " & szTempFile, 0, True)
Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0)
All=oFile.ReadAll()
oFile.Close
If (IsObject(oFile)) Then
Call oFileSys.DeleteFile(szTempFile, True)
End If
arr = Split(All, vbCrLf)
If UBound(arr) = 4 Then
ipc = InStr(1, arr(2), "Internet Address")
phyc = InStr(1, arr(2), "Physical Address")
typec = InStr(1, arr(2), "Type")
If typec > phyc And phyc > ipc And ipc > 0 Then
GetMac=Ucase(Trim(CStr(Mid(arr(3), phyc, typec - phyc))))
End If
End If
End function
%>
</body>
</html>