要使用request物件的ServerVariables屬性,透過它來獲得環境變數的值。使用的語法為:Request.ServerVariables(variable),「variable」表示環境變數的名稱,如伺服器主機名稱、Web伺服器軟體名稱等等,若「variable」為「REMOTE_ADDR」則表示訪客的IP位址,透過它就可以實現IP位址的過濾。
原始程式如下:(檔案名稱:demo.ASP)
以下是引用片段:
<html>
<head>
<meta http-equiv=“Content-類型” content=“text/html; charset=gb_2312-80”>
<meta name=“GENERATOR” content=“Microsoft FrontPage Express 2.0”>
<style>
<!--
.as{ line-height: 15px; font-size: 9pt }
a:hover {color: rgb(0,51,240);text-decoration:underline}
.p9 { font-family: 「宋體」; font-size: 9pt; line-height: 15pt}
.p12 { font-family: 「宋體」; font-size: 12pt; line-height: 18pt}
a:link { text-decoration: none;}
a:visited { text-decoration:none;}
a:hover {text-decoration: underline;font-size: 125%;color:blue}
-->
</style>
<title>ASP頁面防火牆功能示範</title>
</head>
<body background=“back.jpg”>
<%
′使用Request.ServerVariables(“REMOTE_ADDR”)得到IP位址並保存在變數rip中
rip=Request.ServerVariables(“REMOTE_ADDR”)
strip=cstr(rip)
′取得IP位址第三個段的值並儲存到strip中
for i=1 to 2
strip=right(strip,len(strip)-instr(1,strip,“.”))
next
strip=left(strip,instr(1,strip,「.」)-1)
′IP位址有效性檢定及密碼驗證,包括兩方面的內容:
′如果IP位址符合則通過驗證;如果IP位址不符合則檢驗輸入的密碼是否正確(此處密碼為「asp」)
if (left(rip,5) <> “127.1” or strip<“1” or strip>“50”) and request(“Passwd”)<>“asp” then
%>
<p><font color=“#FF0000”>對不起,你的IP是<%=rip%>,本頁可以訪問的IP是127.1.1.*到127.1.50.*之間,如果你是本單位內部網路的用戶,請確認你的瀏覽器沒有使用代理!<BR></font></p>
<form action=“demo.asp” method=“POST” id=form1 name=form1>
<p>請輸入存取密碼:<input type=“password” name=“Passwd” > <input type=“submit” value=“確認” name=“B1”>;
</p>
</form>
<%else %>
′合法用戶可以訪問的頁面,在此可以加入任何信息
恭喜您,您已經順利通過了頁面的安全認證,可以直接使用本網站的資源!
<%end if%>
</body>
</html>
實際使用只要稍微修改上面的程式(如IP位址等資訊)就可以了,當然這只是在一個頁面中實作了安全防範功能,如果一個網站有多個頁面的話,可以設定一個session變數來對使用者進行標誌,以在後面的頁面中進行判斷。