如何使用JavaScript实现输错密码后在短时间内不能再输入

现在想要给用户登录界面,实现一个密码判断的功能,大致功能如下:
1.能够判断用户名密码是否匹配
2.输错一定次数后,在5分钟之内,不能再登录,5分钟之后就能继续登录
这个应该怎么实现呢?能不能给点思路
我在网上已经查找过相关密码验证的问题。现在就是不知道第二点,输错一定次数后,在一定时间内限制登录如何实现

阅读 5.6k
5 个回答

用定时器 setTimeout

没必要禁用5分钟不能登录啊, 防恶意攻击, 让后台给个验证码就好了, 提交接口的时候后台去验证账号密码验证码是否匹配, 再根据返回值前端去判断

1.错误次数、最后提交时间存在本地,提交表单时检测错误次数及最后提交时间。
2.错误次数、最后提交时间入库,保证此账号在任何一台设备都无法再登录。
3.建立一个独立表,把提交者ip、错误次数错误时间记录,只有此ip锁定。

以上3种方案均以最后提交时间做判断是否解除锁定

第二个问题,5分钟之内不能再登录,这种功能一般是不放在前端做的,你想,一般情况下(不把数据放到localStorage 等中),页面一刷新,辛辛苦苦用定时机计时的时间不是又重0开始了,所以这种功能需要放在后端做。

这种如果只在前端做,很容易被有的用户绕过。

如果确定要这么做,可以考虑把错误次数和时间写到cookie、localStorage等本地存储中~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题