|
主题: 用户登录的一个漏洞!
|
 seconed6
职务:普通成员
等级:1
金币:1.0
发贴:189
注册:2002/9/17 13:05:00
|
#12002/10/23 17:11:29
一个登录系统里,已经通过“Retrict Access to Page"添加了用户验证,可是登录后我们可以在后面的变换名字来进入别的用户页面,进入修改等操作。如何修改这个漏洞呢!!??
|
 咬一口
职务:普通成员
等级:1
金币:0.0
发贴:107
注册:2002/1/20 21:07:01
|
#22002/10/23 17:19:38
不理解。说清楚点。
|
 我佛山人
职务:版主
等级:4
金币:16.0
发贴:2269
注册:2002/8/7 15:09:27
|
#32002/10/23 20:48:11
要用cookies或session保存用户的登陆信息
|
 seconed6
职务:普通成员
等级:1
金币:1.0
发贴:189
注册:2002/9/17 13:05:00
|
#42002/10/24 10:55:50
我用的是UD,能不能详细点说,怎么做呢??
|
 Syawn
职务:普通成员
等级:5
金币:10.0
发贴:2930
注册:2004/6/24 17:14:35
|
#52002/10/24 12:57:59
过滤,不要用url, 改用session
|
 seconed6
职务:普通成员
等级:1
金币:1.0
发贴:189
注册:2002/9/17 13:05:00
|
#62002/10/24 13:01:35
怎么做啊!我还不是很了解啊!太笨!
|
 笨鸡
职务:普通成员
等级:1
金币:0.0
发贴:137
注册:2002/6/11 17:21:57
|
#72002/10/24 16:57:57
大家要回答就详细点!不然不明白,等于白回答
|
 seconed6
职务:普通成员
等级:1
金币:1.0
发贴:189
注册:2002/9/17 13:05:00
|
#82002/10/25 8:32:02
楼上兄弟说的极是啊!!麻烦各位高手还要不遗余力的回答啊!! 谢过 ,先!
|
 songwin
职务:普通成员
等级:1
金币:0.0
发贴:17
注册:2002/7/23 17:55:55
|
#92002/10/25 10:26:07
如果你是用UD制作登陆的话,它会生成一个叫 session("MM_username") 的session变量,你可以利用它在其他页面来判断
给你看代码先
<% session("adminname")=request.Form("adminname") %> <% if request.Form("adminname")="songwin" and request.Form("adminpwd")="songwin" then %> <%response.Redirect("show.asp")%> <%end if%>
|
 seconed6
职务:普通成员
等级:1
金币:1.0
发贴:189
注册:2002/9/17 13:05:00
|
#102002/10/25 10:34:00
这样啊!! 我还想问问, 有没有办法, 不让网页地址里显示,后面的用户名啊!!
|
 songwin
职务:普通成员
等级:1
金币:0.0
发贴:17
注册:2002/7/23 17:55:55
|
#112002/10/25 10:42:14
一般登陆系统都是用FROM提交的嘛 把表单的mehtod改成POST方式
|
 seconed6
职务:普通成员
等级:1
金币:1.0
发贴:189
注册:2002/9/17 13:05:00
|
#122002/10/25 10:58:01
是这样的,我想让用户可以修改资料,用的是链接的形式: ">修改资料 这样的话,网页地址就会有用户名,用户名不是固定的!! 该怎么做呢!!?? 有没有办法不让它显示用户名啊!?
|
 songwin
职务:普通成员
等级:1
金币:0.0
发贴:17
注册:2002/7/23 17:55:55
|
#132002/10/25 11:05:46
目前大部分解决方法是用框架做来隐藏 但是象这个不是特别需要隐藏的吧
|
 seconed6
职务:普通成员
等级:1
金币:1.0
发贴:189
注册:2002/9/17 13:05:00
|
#142002/10/25 11:29:54
那我到底应该怎么做呢?框架怎么用啊!! 有没有相关的资料啊?? 用你上述的代码好像不行啊?!! 用户名不是固定的啊!不同用户登录时,用户名不同啊!!
|
 songwin
职务:普通成员
等级:1
金币:0.0
发贴:17
注册:2002/7/23 17:55:55
|
#152002/10/25 12:29:31
<% session("adminname")=request.Form("adminname") %> <% if request.Form("adminname")="songwin" and request.Form("adminpwd")="songwin" then %> <%response.Redirect("show.asp")%> <%end if%>
这个当然不行了 你把“songwin”要换成你自己表中的记录集,并且循环一下。
<% do while not rsadmin.eof %> <% if request.Form("adminname")=(rsadmin.Fields.Item("adminname").value) and request.Form("adminpwd")=(rsadmin.Fields.Item("adminpwd").value) then %> <% response.Redirect("show.asp") %>
<% end if %> <% rsadmin.movenext loop %> <% response.Redirect("admin2.asp") %>
|