利用ASP給首頁加密
Active server pages (動態伺服器首頁,簡稱ASP),能夠讓我們產生動態、互動性、高效能的WEB應用程式,使我們能用非常簡單的方法通過網頁查詢和修改資料庫,現在已被越來越多的WEB設計人員所接受。但是我們在開發中往往遇到這樣一種情況,即希望讓某些頁面受到保護,只讓經過受權的使用者訪問,對一般使用者則拒絕訪問。
下面我就向大家介紹如何用ASP來建立一個簡單的,但是卻相當有效登入方案,從而保證WEB應用程式的安全性。只要你按照以下的步驟做,你將會擁有一個安全的使用者登入系統。
步驟1:建立一個使用者表
首先我們要建立一個記錄受權使用者資訊的表格。在這個例子中,我用ACCESS97建立了一個名叫userinfo.mdb的資料庫,它包含了受權使用者的資訊,使用者有兩個欄位——使用者名稱和使用者密碼,其中使用者名稱為主關鍵字。(之所以選用ACCESS,是因為它廣為人所知,使用方便,並且適用於大多數的中小型方案。)
步驟2:設定預設的驗證狀態
我們要在global.asa檔案中完成這些設定,為預設的“not authenticated”狀態設定一個對話變數。這樣做後,當使用者想訪問那些受到保護的頁面時,只有你檢查過他們的身份證明後,他們才可以訪問。預設狀態的設定確保了每個人在進入網頁之前都經過了身分識別驗證。
在global.asa檔案中,Session_OnStart事件裡,填寫以下代碼
在global.asa檔案中,Session_OnStart事件裡,填寫以下代碼
< SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Session_OnStart
……
……
’ This is the default authentication status
Session(“Authenticated”) = 0
END SUB
< /SCRIPT>
切記驗證身份狀態的設定是一件非常重要的事物,請不要忘記。
步驟3:建立一個使用者登入頁
這是一個ASP網頁,裡面是HTML的內容。我們把這一頁取名叫login.asp,為了方便起見,下面給出了範例程式碼:
< HTML>
< BODY BGCOLOR=FFFFFF>
< FORM ACTION=“verify.asp” METHOD=POST>
Name:
< INPUT TYPE=TEXT SIZE=20 NAME=USERNAME>
Password:
< INPUT TYPE=PASSWORD SIZE=20 NAME=USERPASSWORD>
< INPUT TYPE=SUBMIT VALUE=“Login Now”>
< /BODY>
< /HTML>
它包含了1個有2個輸入框的表格。這些輸入框用於收集使用者的使用者名稱和使用者密碼。收集到的資訊我們用POST方式交給verify.asp來處理,以便我們來驗證這個使用者有沒有經過受權。
步驟4:為這個資料庫建立系統型ODBC資料來源(DSN)
為了訪問userinfo.mdb這個資料庫,我們需要建立系統型ODBC資料來源(DSN)。如果你非常熟悉ASP的話,你可以選擇你自己的資料來源(DSN)項目。要建立系統型ODBC資料來源(DSN),你需要做以下步驟:
*開啟你的電腦中的控制台(在Windows95/NT中的開始..設定菜單裡)
*選擇“32位ODBC”
*選擇“System DSN”
*選擇“添加”。再選擇“Microsoft Access Database Driver”,單擊“完成”
*給資料來源(DSN)取個名字,在“資料庫”設定中取名為“LoginDSN”,單擊“選擇”後指出userinfo.mdb資料庫所在的確切路徑。
*單擊確定按鈕
通過這個步驟,在你的電腦裡建立了一個名為“LoginDSN”的系統型ODBC資料來源(DSN),並指出了所選用userinfo.mdb資料庫的確切位置。
步驟5:建立驗證頁
這就是我們在步驟3中看到的verify.asp頁。在這一頁中,我們將驗證使用者是否有效。我們從login.asp頁獲得了使用者的資訊(還記得那些輸入框的表格嗎?)