当前位置:编程学习 > C#/ASP.NET >>

用户登录的时候,在短时间内密码连续输错3次,账号被锁定,是怎么实现的呢?

用户登录的时候,在短时间内密码连续输错3次,账号被锁定,是怎么实现的呢?
比如1分钟内连续输入3次错误密码,账号锁定。而一小时内输错3次,虽然也是连续的,却不锁定。
这个是怎么实现的呢? --------------------编程问答-------------------- 这个你记录一下输入错误的次数和时间 --------------------编程问答-------------------- 没做过,不过我想可以用cookie记录错误的次数跟时间 --------------------编程问答-------------------- 在数据库中存入登录时的时间,和错误次数,再次登录的时候做判断 --------------------编程问答-------------------- 每次点击确定的时候,用数据库记录MAC地址和IP,时间、密码是否正确等信息,每次点击后统计该相同机子1分钟内是否有3条记录,有就执行锁定程序。点击前判断是否已锁定即可 --------------------编程问答-------------------- 没错误一次,你就记录累加一次,累加三次后,你就锁定他的账号,然后记录锁定的时间,设置锁定的时长,当锁定时长到了在解放就行了...... --------------------编程问答-------------------- 声明一个全局变量 session 

if error  session ++
 if session >次数  then kill bad person

--------------------编程问答-------------------- 没做过   个人思路 觉得抓取第一次的时间和输入三次后错误的时间做比较咯 --------------------编程问答-------------------- 用cookie和session或者数据库记录都可以。记录下输错的时间,次数。 --------------------编程问答-------------------- 比较一下吧 --------------------编程问答-------------------- 个人觉得数据库好一些,更安全一些,可能速度会慢点。但session和cookie也有缺点。seesion已丢失,cookie不安全 --------------------编程问答--------------------
存数据库 次数和时间  用数据库内置函数时间比较多长时间就释放。超过3次释放。很简单滴。
--------------------编程问答--------------------
超过3次释放改为锁定,并且你释放的同事也把登陆次数归0,并且注意只要在3次内登陆成功,次数都归0.
--------------------编程问答--------------------
同事改为同时。老打错汗了
--------------------编程问答-------------------- 数据库里增加一个字段 --------------------编程问答-------------------- 可以在数据库增加2个字段。一个是登录时密码出错的次数,一个是最后次登错密码的时间。
登录检测的时候,错误次数等于3,就提示【已被锁定】。
其他就判断最后次出错的时间是否在你要求的【短时间】内,是的话就次数+1.不是就跳个密码错误,次数不变,登错密码的时间更新下。
其他还有什么IP、MAC限制的要求,你也可以自己加。 --------------------编程问答-------------------- session cookie都可以,cookie时间更长一些,session失效更早。 --------------------编程问答-------------------- 个人觉得用数据库的方法好点^_^ --------------------编程问答-------------------- cookie锁定客户端,骗骗不懂得人的
通过记录IP锁定,这个又可能会出现把一群IP给封了的情况(比如公司内部有人输错3次,那这个公司的人就都被禁止了)
单位时间 ,数据库记录账号错误次数,当次数达到限度,就锁定 --------------------编程问答-------------------- 思路就是 次数累加 三分钟清空次数 三分钟到三次就锁定 session 数据库都可以 看具体需求和要求 --------------------编程问答--------------------
引用 18 楼 starfd 的回复:
cookie锁定客户端,骗骗不懂得人的
通过记录IP锁定,这个又可能会出现把一群IP给封了的情况(比如公司内部有人输错3次,那这个公司的人就都被禁止了)
单位时间 ,数据库记录账号错误次数,当次数达到限度,就锁定
分析的很深啊 --------------------编程问答-------------------- 锁账户呗,这个账户锁了还能用其他用户登录,不要封IP啊MAC什么的。

另:不要一提到Cookie就想到不安全,要看你Cookie存储的是什么安全级别的东西了。如果把用户密码放进Cookie,那必然的Cookie真的不安全。。还有Cookie不适宜在当前问题中提出来,客户端的文件去做验证逻辑判断,不是疯子就是骗子。 --------------------编程问答-------------------- 是这样的 --------------------编程问答-------------------- 错误一次,你就记录累加一次,累加三次后,你就锁定他的账号,然后记录锁定的时间,设置锁定的时长,当锁定时长到了在解放就行了...... --------------------编程问答--------------------
引用 21 楼 sunzongbao2007 的回复:
锁账户呗,这个账户锁了还能用其他用户登录,不要封IP啊MAC什么的。

另:不要一提到Cookie就想到不安全,要看你Cookie存储的是什么安全级别的东西了。如果把用户密码放进Cookie,那必然的Cookie真的不安全。。还有Cookie不适宜在当前问题中提出来,客户端的文件去做验证逻辑判断,不是疯子就是骗子。

呵呵,感觉还是存数据库中。。。。 --------------------编程问答-------------------- 数据库里吧 --------------------编程问答-------------------- 怎么使用数据库的方法,求截图 --------------------编程问答--------------------
引用 23 楼 renkuan719 的回复:
错误一次,你就记录累加一次,累加三次后,你就锁定他的账号,然后记录锁定的时间,设置锁定的时长,当锁定时长到了在解放就行了......

不要忘记了“短时间内、1分钟内”这种限定条件。如果忘记了需求条件,就没有意义了。 --------------------编程问答-------------------- 在验证密码之前,首先删除数据库中发生时间早于1分钟前的“登录错误”记录,然后统计一下小于3条则验证密码。
--------------------编程问答-------------------- 标志。。。1小时内不锁定,可以说我们只需要考虑1分钟的情况,记录登录的第一次与第三次的时间差即可
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,