Dreamweaver 限制訪問的BUG_Dreamweaver教程
一、步驟敘述:
1、數(shù)據(jù)庫文件mysite.mdb,其中兩個(gè)表:admininfo(表示治理員的記錄表)和memberinfo(普通用戶的記錄表)
2、普通用戶登陸頁 login.asp ,添加服務(wù)器行為時(shí)候,選擇基于用戶名和密碼的訪問。即表示產(chǎn)生了 Session("MM_Username") (其值即為當(dāng)前正確登陸的用戶名)。因?yàn)榇藭r(shí)為選擇訪問級(jí)別,所以代表訪問級(jí)別的 Session("MM_UserAuthorization") = ""
3、普通用戶登陸成功頁 personal.asp,服務(wù)器行為“限制對(duì)頁訪問”同樣設(shè)置為用戶名和密碼的訪問。實(shí)質(zhì)是判定Session,即可實(shí)現(xiàn)“限制對(duì)頁的訪問”。
以上2→3均能正常,接著就開始出現(xiàn)問題了。
4、治理員登陸頁 adminlogin.asp ,添加服務(wù)器行為時(shí)候,選擇基于用戶名、密碼和訪問級(jí)別的訪問(當(dāng)然這要求admininfo表中必須具有表示訪問級(jí)別的字段)。生成Session("MM_Username") (其值即為當(dāng)前正確登陸的治理員名),同時(shí)生成表示訪問級(jí)別的Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
5、治理員登陸正確頁 admin.asp,很顯然,服務(wù)器行為“限制對(duì)頁訪問”必須選擇“用戶名、密碼和訪問權(quán)限的訪問”,級(jí)別的定義值即是admininfo表中表示訪問級(jí)別字段的值。同樣也能實(shí)現(xiàn)“限制對(duì)頁的訪問”。
二、BUG來了
1、普通用戶登陸。
2、正確登陸。
3、將URL地址直接切換為“admin.asp”的地址。
4、完全可訪問。
注:在admin.asp提取Session("MM_UserAuthorization") 是為空值,而當(dāng)從adminlogin.asp正確登陸到adming.asp提取Session("MM_UserAuthorization") 值為數(shù)據(jù)庫表中相應(yīng)字段的值
得出結(jié)論:代表權(quán)限的訪問級(jí)別沒有起效。Session("MM_UserAuthorization") 針對(duì)同一站點(diǎn)同一數(shù)據(jù)庫不同表時(shí)——形同虛設(shè)!
三、原理分析
在治理員登陸成功頁中,有如下代碼是用來進(jìn)行“限制對(duì)頁訪問的”
' *** Restrict Access To Page: Grant or deny access to this page
MM_authorizedUsers="administrator"
MM_authFailedURL="adminlogin.asp"
MM_grantAccess=false
If Session("MM_Username") <> "" Then
If (false Or CStr(Session("MM_UserAuthorization"))="") Or _
(InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
MM_grantAccess = true
End If
End If
If Session("MM_Username") <> "" Then
假如表示用戶的Session不為空,即可MM_grantAccess = true,當(dāng)然,其中還有嵌套IF。
If (false Or CStr(Session("MM_UserAuthorization"))="") Or (InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
因?yàn)镸M_authorizedUsers="administrator",這里的"administrator"是級(jí)別的定義值,即是admininfo表中表示訪問級(jí)別字段的值
所以,其只能限制admininfo表其他的訪問級(jí)別(非administrator)的治理員的訪問,而對(duì)于普通會(huì)員而言,其Session("MM_UserAuthorization")值為空,同樣可訪問該權(quán)限頁面。
這就是BUG所在!
四、目前解決方案
1、要做基于用戶名、密碼和訪問級(jí)別的訪問,必須是同一數(shù)據(jù)庫表中的。即將普通會(huì)員和治理員的信息都保存在同一表中,區(qū)分他們權(quán)限的方法即是添加一個(gè)代表權(quán)限的字段,使得他們具有不同的值。
當(dāng)然,這不是很完整的,很多情況需要將兩個(gè)表分開,那么則可以用如下方法:
2、當(dāng)基于用戶名、密碼和訪問級(jí)別的訪問,在代碼
- 用Dreamweaver在網(wǎng)頁中插入Flash按鈕
- 在Dreamweaver中編寫CSS需要掌握的技巧
- Dreamweaver CS3代碼片斷功能面板的利用
- Dreamweaver CS3 的最新功能
- 用Dreamweaver建站如何設(shè)計(jì)CSS?
- Dreamweaver文字自動(dòng)換行
- 探討Dreamweaver制作網(wǎng)頁時(shí)的空格
- 使用Dreamweaver制作網(wǎng)頁的20個(gè)技巧
- Dreamweaver MX 2004的PPT格式課件
- Dreamweaver技巧:運(yùn)用代碼片斷工具提高css開發(fā)效率
- 在DreamWeaver中編寫CSS的一些技巧
- 使用Dreamweaver模板批量制作網(wǎng)頁
Dreamweaver教程Rss訂閱網(wǎng)站制作教程搜索
Dreamweaver教程推薦
- Dreamweaver網(wǎng)頁制作教程:定義站點(diǎn)
- 使用Dreamweaver插件個(gè)性化IE滾動(dòng)條
- Dreamweaver的小技巧:Dreamweaver應(yīng)用源格式
- Dreamweaver文字自動(dòng)換行
- Dreamweaver網(wǎng)頁制作教程:行為事件
- Dreamweaver生成新頁面css的類失效
- 用戶注冊(cè)的實(shí)現(xiàn)-Dreamweaver構(gòu)建Blog
- 入門:充分利用Dreamweaver8中的查找替換技巧
- 使用Dreamweaver輕松實(shí)現(xiàn)網(wǎng)頁中透明Flash效果
- Dreamweaver開發(fā)ASP實(shí)例視頻教程建立注冊(cè)頁面
猜你也喜歡看這些
- Dreamweaver MX構(gòu)建PHP+MySQL站點(diǎn)
- Dreamweaver MX 2004中文版完全自學(xué)手冊(cè)
- 新編Dreamweaver MX2004 中文版輕松入門視頻教程 2CD
- Dreamweaver 8 完美網(wǎng)站建設(shè)從入門到精通
- 挑戰(zhàn)DREAMWEAVER MX互動(dòng)網(wǎng)站百寶箱FOR ASP
- Dreamweaver 8完美網(wǎng)頁設(shè)計(jì):商業(yè)網(wǎng)站篇
- 美工之路系列視頻
- Dreamweaver 8 大師系列教程- 高級(jí)篇
- Dreamweaver 8 完美網(wǎng)頁設(shè)計(jì)—CSS網(wǎng)頁設(shè)計(jì)篇
- 巧學(xué)巧用Dreamweaver8制作網(wǎng)頁
- 相關(guān)鏈接:
- 教程說明:
Dreamweaver教程-Dreamweaver 限制訪問的BUG
。