Request.ServerVariables ASP環境 服務器變量

 

本機ip[客戶端]:
request.servervariables("remote_addr")

從哪個頁面轉到當前頁面的:
Request.ServerVariables("HTTP_REFERER")

 得到本頁地址:
<%="http://" + Request.ServerVariables("SERVER_NAME") + ":" + Request.ServerVariables("SERVER_PORT") + request.ServerVariables("script_name")+"?"+request.ServerVariableS("QUERY_STRING")%>
<%=server.URLencode("http://" + Request.ServerVariables("SERVER_NAME") + ":" + Request.ServerVariables("SERVER_PORT") + request.ServerVariables("script_name")+"?"+request.ServerVariableS("QUERY_STRING"))%> 

 

本機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_HTTP客戶端發送的所有HTTP標題文件。
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,當然必須這個代理支持
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章