在設計網頁時,經常遇到某些頁面需限權訪問的情況。比如,一個公司的某些產品只讓某一或某些供應商或客戶瀏覽。那麼,我們如何?這一功能呢?本文,筆者將向讀者介紹幾種限制客戶存取權限的方法。
通常,我們在設計過程中會面臨三種情況:某一頁面只讓某一使用者瀏覽、某一頁面只讓某些使用者瀏覽和某些頁面只讓某些使用者瀏覽。第一種情況很簡單,筆者不再敘述,下文將詳細介紹後兩種情況的設計方法。
一、某一頁面只讓某些使用者瀏覽
將這些客戶的資訊儲存在資料庫中,若能在資料庫中檢索到客戶輸入的姓名和密碼就允許訪問該頁面。
Protect.asp檔案 ′需限權訪問的頁面
〈html〉〈head〉〈title〉賽迪首頁〈/title〉〈/head〉〈body bgcolor="#00FFFF"〉
′此處可輸入該頁面的其它內容
〈form action="Protect.asp" method="post"〉
請輸入姓名:
〈input type="text" name="text"〉
請輸入密碼:〈input type="password" size="20" name="password"〉
〈input type="submit" name="B1" value="查詢"〉〈/p〉〈/form〉
〈%set conn=server.createobject("adodb.connection")
conn.open "asptest"
′asptest是存放客戶資訊的表單permission所在的資料庫的名字
sql1="select from permission where xm='"&&request.form("text") && "' and mima='"&&request.form("password")&&"'"
set rs=conn.execute(sql1)%〉
′如果資料庫中存在客戶輸入的姓名和密碼,就顯示頁面product.asp的超級連結
〈% if not rs.eof then%〉〈a href="product.asp"〉本公司的產品〈/a〉
〈%end if%〉〈/body〉〈/html〉
二、某些頁面只讓某些使用者瀏覽
我們可以設計一登入頁面register.asp,如果客戶沒有登入,在進入每個需限權訪問的頁面時強制客戶先訪問頁面register.asp實現登入。成功登入之後自動返回到剛才要訪問的頁面。我們可用cookies和session兩種方法來實現。
1.用cookies實現
如果客戶已經登入過,就把登入的資訊記錄在用戶端的cookies中,之後客戶就可直接瀏覽其它限權訪問的頁面。
register.asp
〈% if request.form("b1")="提交" then
set conn=server.createobject("adodb.connection")
conn.open "asptest"
sql1="select * from permi