通行证: 用户 密码 网站建设  下载中心 社区论坛 信息公告 my小屋
联系我们
设为首页
加入收藏

 

qq,asp,php,jsp,xml,sql,.net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | q q 专栏 | 建站经验 | 在线工具 | 站长club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>网页设计>>dreamweaver>>正文 新版上线![旧版]
注:打开慢时请稍等

dreamweaver 限制访问的bug

http://www.iyit.net  日期:2006-11-12 22:31:45  来源:iyit.net  点击:
参加讨论 

一、步骤叙述:

1、数据库文件mysite.mdb,其中两个表:admininfo(表示管理员的记录表)和memberinfo(普通用户的记录表)

2、普通用户登陆页 login.asp ,添加服务器行为时候,选择基于用户名和密码的访问。即表示产生了 session("mm_username") (其值即为当前正确登陆的用户名)。因为此时为选择访问级别,所以代表访问级别的 session("mm_userauthorization") = ""

3、普通用户登陆成功页 personal.asp,服务器行为“限制对页访问”同样设置为用户名和密码的访问。实质是判断session,即可实现“限制对页的访问”。

以上2→3均能正常,接着就开始出现问题了。

4、管理员登陆页 adminlogin.asp ,添加服务器行为时候,选择基于用户名、密码和访问级别的访问(当然这要求admininfo表中必须具有表示访问级别的字段)。生成session("mm_username") (其值即为当前正确登陆的管理员名),同时生成表示访问级别的session("mm_userauthorization") = cstr(mm_rsuser.fields.item(mm_flduserauthorization).value)

5、管理员登陆正确页 admin.asp,很显然,服务器行为“限制对页访问”必须选择“用户名、密码和访问权限的访问”,级别的定义值即是admininfo表中表示访问级别字段的值。同样也能实现“限制对页的访问”。

二、bug来了

1、普通用户登陆。
2、正确登陆。
3、将url地址直接切换为“admin.asp”的地址。
4、完全可访问。

注:在admin.asp提取session("mm_userauthorization") 是为空值,而当从adminlogin.asp正确登陆到adming.asp提取session("mm_userauthorization") 值为数据库表中相应字段的值

得出结论:代表权限的访问级别没有起效。session("mm_userauthorization") 针对同一站点同一数据库不同表时——形同虚设!

三、原理分析

在管理员登陆成功页中,有如下代码是用来进行“限制对页访问的”

' *** 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,当然,其中还有嵌套if。

if (false or cstr(session("mm_userauthorization"))="") or (instr(1,mm_authorizedusers,session("mm_userauthorization"))>=1) then

因为mm_authorizedusers="administrator",这里的"administrator"是级别的定义值,即是admininfo表中表示访问级别字段的值

所以,其只能限制admininfo表其他的访问级别(非administrator)的管理员的访问,而对于普通会员而言,其session("mm_userauthorization")值为空,同样可访问该权限页面。

这就是bug所在!

四、目前解决方案

1、要做基于用户名、密码和访问级别的访问,必须是同一数据库表中的。即将普通会员和管理员的信息都保存在同一表中,区分他们权限的方法即是添加一个代表权限的字段,使得他们具有不同的值。

当然,这不是很完整的,很多情况需要将两个表分开,那么则可以用如下方法:

本新闻共2页,当前在第1页  1  2  


编辑:iyit.net [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:dreamweaver网页中实用的制作技巧
下一篇:没有了
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
最新更新 热点排行 推荐新闻
dreamweaver 限制访问的bug
dreamweaver网页中实用的制作技巧
dreamweaver经典问题大搜罗
解决deamweaver8中css应用无效问题
如何在dreamweaver中使用库项目
dreamweaver 限制访问的bug
用falsh制作黑客帝国数字流
google竟然向5万用户发病毒邮件
06年11月11日石家庄太和cpu、内存、硬
06年11月09日石家庄太和cpu、内存、硬
教你如何使用sql server来过滤数据
怎么判断服务器是否是双线服务器!
教你如何使用sql server来过滤数据
sqlserver和access、excel数据传输总结
sql server--全文本检索的应用
dreamweaver经典问题大搜罗
dreamweaver网页中实用的制作技巧
dreamweaver mx 2004的flash动画元素
如何在dreamweaver中使用库项目
解决deamweaver8中css应用无效问题
破解qq密码如此简单 
dos教程 dos命令基础应用
低格、分区、高格的应对--dos命令应用
永久免费网游《刀ol》11月3日开放新服
合并vcd片断、快速删除文件夹--dos命令
一劳永逸--批处理命令(一)
sql server安装文件挂起错误解决办法
破解windows密码如此简单!
三分钟让你的系统变处女:acronis tru
远程破解盗窃qq密码的各种方法
dreamweaver 限制访问的bug
dreamweaver mx 2004的flash动画元素
dw精细化网页中表格的外观
dreamweaver mx 2004从零开始(1)
dreamweaver 限制访问的bug
用falsh制作黑客帝国数字流
06年11月09日石家庄太和cpu、内存、硬
教你如何使用sql server来过滤数据
怎么判断服务器是否是双线服务器!
教你如何使用sql server来过滤数据
sqlserver和access、excel数据传输总结
sql server--全文本检索的应用
如何在sql server中快速删除重复记录
基于oracle adf的应用程序开发

设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
copyrights © 2004-2006 iyit.net all rights reserved.
网站合作、广告联系qq:147007642、466949678
易特网络技术 点击这里给我发消息