标题:一个危险的粗心
只看楼主
笨笨林
Rank: 6Rank: 6
等 级:贵宾
威 望:21
帖 子:482
专家分:408
注 册:2007-7-28
结帖率:90%
 问题点数:0 回复次数:5 
一个危险的粗心
我在写后台用户登陆的时候,就犯过一个很低级的错误,下面是代码。
程序代码:
dim username,userpass,yzm,sessionyzm

yzm=left(ReplaceBadChar(Trim(Request("yzm"))),4)
sessionyzm=left(ReplaceBadChar(Trim(Session("code"))),4)
Session("usercode")=""
if yzm<>sessionyzm then
response.write ("<script LANGUAGE='javascript'>alert('验证码错误!');history.go(-1);</script>")
resopnse.end
end if

username=left(Trim(Request("username")),16)
userpass=md5(left(Trim(Request("userpass")),20))
if not CheckUserBadChar(username) then
response.write ("<script LANGUAGE='javascript'>alert('对不起,您输入的用户名含有非法字符!');history.go(-1);</script>")
response.end
end if

if username="" then
response.write ("<script LANGUAGE='javascript'>alert('对不起,用户名不能为空!');history.go(-1);</script>")
response.end
end if

if yzm="" then
response.write ("<script LANGUAGE='javascript'>alert('非法的验证码或验证码为空!');history.go(-1);</script>")
resopnse.end
end if

当时调试的时候,没发现问题,可是后来自己一次不小心输错了验证码,居然正常登陆后台,以为自己看错了,再重复一次也一样,但是当用户名或密码也错的时候就提示验证码错误。用户名和密码正确时验证码不管错和对都一样。以为是接收到的验证码字符有其它字符,但是经过排除也还是一样。最后打算重写验证代码时终于发现了问题所在
if yzm<>sessionyzm then
response.write ("<script LANGUAGE='javascript'>alert('验证码错误!');history.go(-1);</script>")
resopnse.end
end if

后面那句resopnse.end应写成response.end
这样造成发现验证码错误时,服务器端继续执行,如果用户名密码没有错,就会
response.redirect ("index.asp")
如果有错,就会response.end
然后再出现验证码错误,所以调试的时候用户名和密码也是错的,验证码这里就被溜过去了。
搜索更多相关主题的帖子: 粗心 危险 
2008-03-25 09:44
wuchunyu120
Rank: 1
来 自:河南南阳
等 级:新手上路
帖 子:237
专家分:0
注 册:2007-10-29
得分:0 
谢谢分享。。
2008-03-25 10:17
longziyong
Rank: 2
来 自:四川省威远县
等 级:禁止访问
帖 子:77
专家分:23
注 册:2007-8-22
得分:0 
不仔细看,还真看不出来!

LZY'Blog http://www.
2008-03-25 10:29
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
得分:0 
不知道LZ用什么编辑器写代码?
如果你用DW写的话,这种错误应该不会出现

从BFS(Breadth First Study)到DFS(Depth First Study)
2008-03-25 10:53
笨笨林
Rank: 6Rank: 6
等 级:贵宾
威 望:21
帖 子:482
专家分:408
注 册:2007-7-28
得分:0 
Notepad2

程序授权说明:http://www./authorization.php  无路难开路难。  帮助别人是快乐的,也只有帮助别人,才能得到别人的帮助。互相帮助,才能共同进步。
2008-03-27 12:10
gdk2006
Rank: 4
等 级:业余侠客
威 望:8
帖 子:928
专家分:270
注 册:2006-7-2
得分:0 
呵呵!这个应该是知道的,比如:如果你后面还有写入数据库信息的那就惨了。

程序员的悲哀如何找女朋友?
追女解决方案百度“让她着迷”!
2008-03-27 13:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-205189-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.098317 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved