用户登录体验(自动时间锁)

目前很多网站在登录时都需要验证码,输入用户名再输入密码然后再输入验证码,三项都正确后才能正确登录,但有些让人蛋痛的验证码让人都分不清上面到底是什么,然后不断的刷新直到你能认出来,如果再打错就...

为了用户有更好的体验和网站的安全性的一个平衡决定为网站登录的代码中加入登录时间锁功能。

先说一下思路,一共需要2个字段来记录,一个是最后输入密码的时间,另一个是用来记录输入错的次数,每次输入用户名和密码时都会更新这个时间,输入错次数的初始值是0;

我们把锁定的时间默认为10分钟,然后输入错5次后认为用户被锁定,当然具体的锁定时间和重试的次数用户可以自己设定;

首先是正常登录的用户,先判错误次数是否大于等于5且上次输入的时间是否于小于等于当前时间-10分钟;

如果是就算输入了正确的用户名和密码也要不让用户登录(防穷举);

如果输入错误把输入的时间更新了,次数如果不大于5就加1;

如果次数和时间都不满足条件,且用户名密码正确就正常登录,且重置用户输入密码错误的次数为0;

几个条件的判断顺序要注意;

基本上思路有了代码实现上并不困难,用来记录的内容可以在用户名密码后加上密码输入的时间和错误的次数2个字段;

也可以考虑用Session来实现,这2种方法没有实际对测试过哪个性能更好,用户过多Session可能会比较影响服务器性能;

posted @ 2011-10-17 17:55  寂静之秋  阅读(247)  评论(0编辑  收藏  举报
哈尔滨八零网