在尝试失败后,我试图阻止登录x分钟.我已经计划记录用户登录,所以我想我可以使用相同的数据库来计算阻塞是否需要发生.

我的问题:

>使用相同的日志表来运行y次失败尝试阻止的逻辑是否有意义?

>有些人只有失败尝试的表,我听说他们只是递增了失败的登录次数.这没有意义,因为它们存储的是失败尝试的次数,而不是在什么时间段内. 3分钟内3次失败尝试与3天内3次失败尝试不同.时间跨度是否重要?在y时间间隔内尝试x次失败,周期或x次尝试失败后,您是否会阻止.什么是最好的时间框架?

>有人可以澄清最佳实践方法吗?

解决方法:

您需要所谓的密码尝试窗口.

基本上数据库中有2个字段,一个是LastPasswordAttempt(datetime),另一个是PasswordAttemptCount(int)

然后在每次登录时,检查最后一次LastPasswordAttempt发生的时间以及它是否在最后一次说10分钟 – 增加PasswordAttemptCount,否则将其重置为0(或1,因为它们刚刚失败).

在相同的逻辑中,检查PasswordAttemptCount是否等于5或更多,如果是 – 拒绝用户访问.你可以有一个第三个字段,可以将它们锁定几个小时或一天.

即CanLoginAfter(datetime),您可以将其设置为上次密码尝试的一天.

希望这可以帮助

标签:php,mysql,statistics,login

来源: https://codeday.me/bug/20190610/1213114.html

php登录失败后,php – X尝试失败后阻止登录相关推荐

  1. macOS idea maven包下载中途断网后,重新尝试下载后无法下载的解决方法

    解决: 按照如图所示,找到maven的安装目录 打开 finder 在 mac 中,快速定位的快捷键是 control+shift+g ,以我的 maven 仓库为例,定位 右上角搜索框,搜索 .la ...

  2. svn checkout 提示“由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。”解决方法...

    安装好之后再windows上checkout项目,一直出错:"由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败":在尝试了很多次之后找到了最后的问题所在.  在 ...

  3. adb connect 远程adb连接手机无法连接,显示由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。(10060)windows调试Linux解决方式 ip连接方式

    adb connect 远程adb连接手机无法连接,显示由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败.(10060) 解决方法 解决步骤 解决方法 解决目标前提 1.需要手机r ...

  4. java网络请求失败后,一段时间后重新尝试建立连接

    biling 实例的 setConnection() 方法似乎接受一个 Listener 对象作为参数,他有两个回调ok和error,当error的时候需要sleep后再重试.我们可以假设该方法用于建 ...

  5. 升级谷歌浏览器到90版本后导致设置set-cookie失败,登录接口成功但还是401问题

    如题,现象如图: 登录接口成功,但是setcookie失败,samesite处有叹号提示,只出现在前端本地调试,前端发到服务器就正常. 下图为感叹号里的翻译: 问题原因:谷歌的90版本把samesit ...

  6. Linux 服务器更换主板后,网卡识别失败的处理方法

    上周日,由于断电,公司所在的集群服务器在关机断电重启后,发现唯一的一个登陆节点主板出现了故障,以致于 log 登陆节点的 Red Hat Enterprise 6 系统无法启动. 由于集群是生信所有分 ...

  7. 英雄联盟登录服务器显示错误码,lol登录失败_TGP一直验证账号,最后出现登录超时,错误码:1,L......

    英雄联盟登录失败显示无法连接服务器请检查您的网... 第一点,保证有网络.第二点,网速还可以,不然载入时间过长会默认已断网.第三点,保证防火墙没有禁止游戏登录,具体操作见 保证所有英雄联盟有关程序全部 ...

  8. android qq三方登录授权失败,QQ第三方登陆授权失败110401原因及解决办法分享

    qq第三方登陆授权失败出现代码110401是什么情况?遇到这种情况该如何解决?相信很多用户们在操作的时候都出现过类似的情况吧?下面是小编带来的攻略解析,一起来关注下! qq第三方登陆授权失败11040 ...

  9. mysql装完后navicat无法连接_重装mysql后导致Navicat连接失败

    今天重装了mysql数据库,然后再使用navicat去连接数据库的时候,一直报错 1251 Client does not support authentication protocol reques ...

最新文章

  1. 嵌入式自学多久可以找工作?应届生找嵌入式工作难吗?
  2. python 元组是有序不可变的类型
  3. 美国限制研究生入境,港大神操作,只要你愿意,填个表就行,还有机会获得校长奖学金...
  4. 序列化与字符流的操作
  5. LFS、BLFS、ALFS、HLFS的区别
  6. 推荐安装的chrome插件
  7. 【推荐】整理者:明日互联网的枢纽角色
  8. php strrchar,php文件上传
  9. 用Flash模拟小车
  10. P3007 [USACO11JAN]大陆议会The Continental Cowngress(2-SAT)
  11. Ttest(T检验)
  12. 信息学奥赛一本通1189:Pell数列 OpenJudge1788:Pell数列
  13. linux查看mysql日志信息,Linux下查看mysql错误日志
  14. 计算机安全技术(第2版)
  15. 【第3期赠书活动】〖Python 数据库开发实战 - Python与Redis交互篇⑬〗- 综合案例 - 新闻管理系统 - 编辑新闻(编辑角色权限)
  16. RabbitMQ ——基于Stomp实现与MQTT客户端通信
  17. 常微分方程数值解法——python实现
  18. efi系统分区是什么?efi系统分区怎么删除?
  19. HyperMate Pro硬件钱包全体验
  20. 计网复习——物理层习题

热门文章

  1. opencvsharp 如何提取十字交叉点坐标_如何提取OpenFOAM计算结果的体心坐标
  2. cad等比例缩放快捷键_「CAD」利用块对图形进行非等比例缩放
  3. 伪数组(ArrayLike)
  4. Gradle学习之基础篇
  5. 2015级C++第15周程序阅读 范型程序设计
  6. 欢迎加入网络管理论坛群
  7. php soap模块的安装
  8. 考考你:输入数字,判定空格和回车
  9. Java-----applet小程序简介
  10. 转: GridView:当鼠标滑过,行的背景颜色发生变化