注册 登录
编程论坛 J2EE论坛

[求助]jsp的一个可以控制登陆次数的登陆系统怎么做啊?

majunjie 发布于 2006-06-16 14:53, 2071 次点击
我现在想用jsp做一个登陆系统,功能主要是想实现,银行取钱的那种,如果密码输入三次错误的话,把帐号冻结24小时,
谁也有这个想法的话,我们一起商量商量啊,那位大哥会的话,给个意见啊,呵呵,谢谢了
15 回复
#2
千里冰封2006-06-17 11:19
把错误的次数记进session 中就可以了
当其中的错误次数等于三的时候,发条信息给数据库,冻结24小时就可以了
#3
majunjie2006-06-18 11:04
数据库怎样冻结数据的,是不是在数据库中操作的啊,谢谢
#4
千里冰封2006-06-18 13:02
是啊,在数据库的表中,增加一个列,此列是一个布尔量,表示此账号有没有被冻结
#5
飘飘叶子2006-06-18 14:57

如果是保存在session里的话,我输错2次后将浏览器关闭,session被清空,是不是又有3次机会了?

一般冻结24小时的做法只是以一天来计算的,你在23:59分输错冻结,到0:00就又可以了~

还有一个问题,你如何判断输错的是用户名还是密码?万一我忘记用户名了,我拿几个可能的用户名来一个一个试,你如何来判断?我想比较可能的办法是使用cookie吧~

#6
majunjie2006-06-18 17:09

上面仁兄说的有道理,不过你说的第三种,我们的程序不好控制,不过在银行里面应该没事,因为,我们是先把银行卡放进去以后才能输入密码,
还有,如果保存到cookie中的,如果我删除,IE设置里面的cookie的话,和session的关闭浏览器是一中后果啊,是吧,
关于你说的第二点,的确很厉害,很难想到,

还有什么想法的都说啊,兄弟们,努力啊

#7
glamey2006-06-18 19:54

仁兄的问题真的很不错。我也不知道怎么解决。不好意思了。

#8
神vLinux飘飘2006-06-19 08:16
飘飘考虑得很到位啊~
但是我“不小心”把COOKIE关闭掉了怎么办呀~~呵呵,还不是得转换到SESSION中去

LZ说的只是冻结帐号,那么只要有用户企图登录到user帐号,就给他开启个计时器线程,如果在计时器计时的时间内发现密码错误(不管每次登录是从世界的那个角落登录的)到一定次数,那么锁定帐号XXX分钟。当然,如果密码正确,那么就销毁这个计时器咯。
#9
神vLinux飘飘2006-06-19 08:18
如果是忘记用户名的,就是说有人进行用户名穷举登录攻击~那么就锁IP
#10
飘飘叶子2006-06-19 10:11
既然楼主说是插卡的……那就跟ATM机一样,不存在用户名不正确的情况
密码输错2次后退卡,然后再放入是不是又有3次机会?还是只有一次机会了?
我看,在数据库里放一个表,里面存的是所有冻结的帐号,输错3次后,将帐号放入数据库。
锁ip似乎不行,像我,只要重启机器ip地址又变了……
#11
千里冰封2006-06-19 10:39

直接把输错的记录记在数据库里面,在账号对应的那一行再增开一个列,记录今天输错了,多少次密码,如果三次了,就冻这个账号,不让任何人再访问了
0点一到,就清空输错的次数,这个时候就可以再次输入你的密码来试了
这样就能保证,每一天,无论怎么样,你只能错三次.

#12
神vLinux飘飘2006-06-19 13:27
恩,有道理,这个方法简单点
#13
千里冰封2006-06-19 13:37
谢谢夸奖
#14
yangwudong2006-06-19 15:25

最好还是放入数据库,安全啊!

#15
majunjie2006-06-19 17:54
谢谢啊,我做个程序试试,看看行不行,兄弟们,你们也做做啊,谁做的好的话,把代码上传上去,让我们共享一下啊,
#16
神vLinux飘飘2006-06-19 19:36
我是做好了,不过是HIBERNATE的....
1