ASP中頁面限權訪問的幾種方法

2021-04-01 15:20:54 字數 2921 閱讀 7607

在設計網頁時,經常遇到某些頁面需限權訪問的情況。比如,乙個公司的某些產品只讓某一或某些**商或客戶瀏覽。那麼,我們如何實現這一功能呢?本文,筆者將向讀者介紹幾種限制客戶訪問許可權的方法。

通常,我們在設計過程中會面臨三種情況:某一頁麵只讓某一使用者瀏覽、某一頁麵只讓某些使用者瀏覽和某些頁面只讓某些使用者瀏覽。第一種情況很簡單,筆者不再敘述,下文將詳細介紹後兩種情況的設計方法。

一、某一頁麵只讓某些使用者瀏覽

將這些客戶的資訊儲存在資料庫中,若能在資料庫中檢索到客戶輸入的姓名和密碼就允許訪問該頁面。

protect.asp檔案:需限權訪問的頁面

此處可輸入該頁面的其它內容

<%setconn=server.createobject("adodb.connection")

conn.open"asptest" ′asptest是存放客戶資訊的表單permission所在的資料庫的名字

sql1="select frompermissionwherexm='"&&request.form("text")

&&"'andmima='"&&request.form("password")&&"'"

setrs=conn.execute(sql1)%>

如果資料庫中存在客戶輸入的姓名和密碼,就顯示頁面product.asp的超級鏈結 <%ifnotrs.eofthen%>

本公司的產品

<%endif%>

二、某些頁面只讓某些使用者瀏覽

我們可以設計一登入頁面register.asp,如果客戶沒有登入,在進入每個需限權訪問的頁面時強制客戶先訪問頁面register.asp實現登入。成功登入之後自動返回到剛才要訪問的頁面。我們可用cookies和session兩種方法來實現。

1.用cookies實現

如果客戶已經登入過,就把登入的資訊記錄在客戶端的cookies中,之後客戶就可直接瀏覽其它限權訪問的頁面。

register.asp

<%ifrequest.form("b1")="提交"then

setconn=server.createobject("adodb.connection")

conn.open"asptest"

sql1="select*frompermissionwherexm='"&&request.form("name")&&"'andmima='"&&request.form("password")&&"'"

setrs=conn.execute(sql1)

ifnotrs.eofthen

response.cookies("register")="true"

rs.close

conn.close

endif

若資料庫中存在該使用者的資訊,就記錄該使用者成功登入的標記到cookies中

endif%>

親愛的客戶,請您登入!

protect.asp檔案′需限權訪問的頁面

<%ifrequest.cookies("register")<>"true"then

response.redirect"register.asp"

endif%>

′若客戶未登入,則強制客戶登入

′此處是需保護的頁面內容  

2.用session實現

session是使用者級的全域性變數,我們將客戶成功登入的資訊記錄到session中後,使用者就可直接瀏覽其它限權訪問的頁面了。

global.asp

register.asp

<% if request.form("b1")="提交" then

set

conn=server.createobject("adodb.connection")

conn.open "asptest"

sql1="select * from permission where xm='"&&request.form("name") &&"' and mima='"&&request.form("password")&&"'"

set rs=conn.execute(sql1)

if not rs.eof then

session("register")="true"

′若資料庫中存在該使用者的資訊,就記錄該使用者成功登入的標記到register變數中

rs.close

conn.close

response.redirect session("prescript")

′成功登入後自動返回剛才要訪問的頁面

end if

if session("lognumber")<3 then

session("lognumber")=

session("lognumber")+1

response.redirect "register.asp"

else

response.redirect "sorry.asp"

end if

′允許嘗試登入三次,若均未成功,則禁止訪問並同時顯示頁面sorry.asp

end if%>

歡迎您的光臨,請您先登入!

<%if session("lognumber")>0 then%>

輸入有誤!請重新輸入姓名和密碼!

<% end if%>

protect.asp檔案 ′需限權訪問的頁面

<% if session("register")< >"true" then

session("prescript")=

request.servervariables("script_name")

response.redirect "register.asp"

end if%>

′記錄該頁面的路徑到prescript變數中並強制客戶登入

′此處可輸入該頁面其它內容的指令碼  

以上幾種方法,設計者可以根據系統的需要進行靈活運用。

頁面跳轉的幾種方法

href assgin跳轉到另乙個頁面可以返回到原來的頁面 location.href location.assign 注意 replace跳轉到另乙個頁面之後不可以返回原來的頁面 location.replace 用乙個新的位址去替換當前的位址,所以不能返回之前的頁面history是載入歷史列表中...

頁面跳轉的幾種方法

php 302重定向 缺少http 會造成重複重定向 url header location url 301重定向 多用於引數錯誤跳轉前 頁面 echo exit 上級頁面跳轉 多用於後台frame框架 防止出現畫中畫 echo exit top.location.href url 在頂層頁面開啟u...

定位頁面高度的幾種方法

備註 當頁面通過iframe引入載入時,又無法給固定的高度控制頁面。可以通過獲取子頁面的高度來自定義控制iframe的高度。頁面初次載入時調取這個方法,給頁面乙個iframe高度。這樣控制頁面能百分百展示。iframeheight function 補充 js獲取iframe內部div的元素方法 i...