2013-02-19 107 views
1

我有一个登录表单,我想根据尝试检查失败的登录尝试并采取适当的措施。检查登录尝试

我被沿着这些线路想:连续失败尝试之间

  1. 最小允许时间将是1秒。

  2. 当尝试失败时,首先删除db中1秒前发生的旧条目。如果大于1秒,则在经过特定的尝试次数(例如3)之后,向用户显示消息,询问他是否要重置密码或再次尝试(类似于脸书)。

  3. 如果最后一次登录尝试发生在不到1秒的时间内,则将IP地址阻塞15分钟。

我已经已通过其他职位了这个网站上,我已经看到了使用如显示的验证码或使用cookies和其他方法,不同的方法的人。

所以我的问题是接近这个问题的最好方法(或标准方法)是什么?

回答

1

在您的用户/成员表上添加两个新列:“上次登录日期(时间)”和“登录尝试次数”。

对于登录尝试,请将“上次登录日期”设置为当前日期并增加“登录尝试次数”。如果超过最大尝试次数,或者尝试发生得太快,则可以检查每次尝试。尽管从声音的角度来看,您可能需要在定时尝试中混合使用客户端和服务器端验证。

成功登录后,您清除“登录尝试次数”。