推薦:關於學習ASP和編程的28個觀點1.不要放過任何一個看上去很簡單的小編程問題-他們往往並不那麼簡單,或者可以引伸出很多知識點;2.會用asp,並不說明你會asp; 3.看asp的書,是學不了asp語言的; 4.
要使用request對象的ServerVariables屬性,通過它來獲得環境變量的值。使用的語法為:Request.ServerVariables(variable),variable表示環境變量的名稱,如服務器主機名稱、Web服務器軟件名等等,若variable為REMOTE_ADDR則表示訪問者的IP地址,通過它就可以實現IP地址的過濾。
源程序如下:(文件名:demo.ASP)
| 以下為引用的內容: <html> <head> <meta http-equiv=Content-Type 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變量來對用戶進行標誌,以在後面的頁面中進行判斷。
分享:ADO初學者教程:ADO 通過GetString()加速腳本作者:請使用GetString()方法來加速您的ASP腳本(來代替多行的Response.Write)。實例使用GetString()如何使用GetString()在HTML表格中顯示記錄集中的數據。多行Response.Write