2013年9月25日 星期三

Request.ServerVariables物件

Request.ServerVariables物件 
系統環境變數
ALL_HTTP  
HTTP_ACCEPT:*/* HTTP_ACCEPT_LANGUAGE:zh-tw HTTP_CONNECTION:Keep-Alive HTTP_HOST:dd.ysps.tp.edu.tw HTTP_REFERER:http://dd.ysps.tp.edu.tw/html/2.asp HTTP_USER_AGENT:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Q312461) HTTP_COOKIE:iscookies=0; ip=140%2E131%2E204%2E4; ASPSESSIONIDASTRDSCC=PCFDHPGBPDGCAEDPEILNPNKM HTTP_ACCEPT_ENCODING:gzip, deflate  
ALL_RAW  
Accept: */* Accept-Language: zh-tw Connection: Keep-Alive Host: dd.ysps.tp.edu.tw Referer: http://dd.ysps.tp.edu.tw/html//6.asp User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Q312461) Cookie: iscookies=0; ip=140%2E131%2E204%2E4; ASPSESSIONIDASTRDSCC=PCFDHPGBPDGCAEDPEILNPNKM Accept-Encoding: gzip, deflate  
APPL_MD_PATH  
/LM/W3SVC/1/ROOT  
APPL_PHYSICAL_PATH  
d:\inetpub\wwwroot\  
..................略..................
GATEWAY_INTERFACE  
CGI/1.1  
INSTANCE_META_PATH  
/LM/W3SVC/1  
LOCAL_ADDR  
140.131.204.4  
LOGON_USER  
PATH_INFO  
/ASP範例/server_variable.asp  
PATH_TRANSLATED  
d:\inetpub\wwwroot\ASP範例\server_variable.asp  
QUERY_STRING  
REMOTE_ADDR  
140.131.204.4  
REMOTE_HOST  
140.131.204.4  
REMOTE_USER  
REQUEST_METHOD  
GET  
SCRIPT_NAME  
/ASP範例/server_variable.asp  
SERVER_NAME  
dd.ysps.tp.edu.tw  
SERVER_PORT  
80  
SERVER_PORT_SECURE  
0  
SERVER_PROTOCOL  
HTTP/1.1  
SERVER_SOFTWARE  
Microsoft-IIS/5.0  
URL  
/ASP範例/server_variable.asp  
HTTP_ACCEPT  
*/*  
HTTP_ACCEPT_LANGUAG  
zh-tw  
HTTP_CONNECTION  
Keep-Alive  
HTTP_HOST  
dd.ysps.tp.edu.tw  
HTTP_REFERER  
http://dd.ysps.tp.edu.tw/html/2.asp  
HTTP_USER_AGENT  
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Q312461)  
HTTP_COOKIE  
iscookies=0; ip=140%2E131%2E204%2E4; ASPSESSIONIDASTRDSCC=PCFDHPGBPDGCAEDPEILNPNKM  
HTTP_ACCEPT_ENCODING  
gzip, deflate  
在系統環境變數中有兩個變數特別值得注意,分別是:
HTTP_REFERER參觀者是透過哪個網頁的超連結連過來的
REMOTE_ADDR參觀者的 IP
利用 HTTP_REFERER 變數,我們可以保護特定網頁,不讓別的站台盜連:
<%
myurl=Request.ServerVariables("HTTP_REFERER")
myurl=Ucase(Left(myurl,25))
IF myurl<>"HTTP://WWW.SPPS.TP.EDU.TW" THEN Response.End
%>
上面程式中的 Response.End 用來中斷網頁輸出,這使得後面的網頁內容通通看不到。
如果要保護網頁僅提供給校內連線,則可以利用另一個變數 REMOTE_ADDR:
<%
myip=Request.ServerVariables("REMOTE_ADDR")
myip=Left(myip,7)
IF myip<>"172.16." THEN Response.End
%>