前言

最近的项目开始进行安全测试,其中有一个安全问题是这样的。
应该增加用户登录失败处理功能,限制非法登录次数。
建议是增加mysql数据库的登陆失败的锁定功能。
相信大家也都会遇到这样的问题,在这里写一下,方便大家直接使用。

设置方法

登录mysql数据库

mysql -u root -p

输入如下命令,安装插件

install plugin CONNECTION_CONTROL soname 'connection_control.so';
install plugin CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS soname 'connection_control.so';

查看安装的插件

我们发下,最下面增加了两个插件

修改my.cnf文件

vim /etc/my.cnf

在文件中,我们增加如下两行

connection-control-failed-connections-threshold=5   #登陆失败次数限制
connection-control-min-connection-delay=300000    #限制重试时间,此处为毫秒,注意按需求换算,此处为5分钟

重启mysql

service mysql restart

重新登录数据库,查看是否生效

show variables like '%connection_control%';

验证

输入密码错误5次后,将不可以再输入密码

至此登录限制就完成了

扩展

静态安装插件

上面提供的方式为动态安装,静态安装方式如下:

vim /etc/my.cnf

增加如下配置

plugin-load-add = connection_control.so

插件卸载

UNINSTALL PLUGIN CONNECTION_CONTROL;
UNINSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS;

插件参数

connection_control_failed_connections_threshold:失败登陆次数达到此值后触发延迟。值域:[0, INT_MAX32(2147483647)],0表示关闭此功能。默认值为3。
connection_control_max_connection_delay:登陆发生延迟时,延迟的最大时间;此值必须大于等于connection_control_min_connection_delay。值域:[1,INT_MAX32(2147483647)]。默认值:INT_MAX32。单位:毫秒。
connection_control_min_connection_delay:登陆发生延迟时,延迟的最小时间,此值必须小于等于connection_control_max_connection_delay。值域:[1000, INT_MAX32(2147483647)]。默认值:1000。单位:毫秒。

延迟的时间如何计算

一旦连续的失败登陆次数超过设定阈值,那么就会产生延迟,并且延迟随着失败次数增加而增加,上限为connection_control_max_connection_delay;
具体的计算方式如下:
MIN ((failed_attempts - threshold) * MIN_DELAY), MAX_DELAY)

总结

至此,文章结束,欢迎大家留言或者关注公众号一起讨论。

mysql数据库限制多次登录失败,限定用户重试时间相关推荐

  1. mysql用户连接次数失败限制_mysql数据库限制多次登录失败,限定用户重试时间...

    前言 最近的项目开始进行安全测试,其中有一个安全问题是这样的. 应该增加用户登录失败处理功能,限制非法登录次数. 建议是增加mysql数据库的登陆失败的锁定功能. 相信大家也都会遇到这样的问题,在这里 ...

  2. java做一个数据库网站,用javaSwing和mysql数据库做的一个登录页面

    用javaSwing和mysql数据库做的一个登录页面 用javaSwing和mysql数据库做的一个登录页面 一:首先在eclipse中新建一个java工程 二:然后新建一个包,并且在包中新建两个类 ...

  3. 无法打开登录所请求的数据库DbName 。登录失败。 用户 'IIS APPPOOL\DefaultAppPool' 登录失败。 的解决方案...

    转自:http://www.cnblogs.com/chsword/archive/2009/09/05/1561067.html 个问题是应用程序连接池的问题.网上有些朋友说是Temp文件夹的权限的 ...

  4. 计算机调试致sa登录失败,无法打开登录 'xxxx' 中请求的数据库。登录失败。用户 'sa' 登录失败。解决思路...

    当前位置:我的异常网» Sql Server » 无法打开登录 'xxxx' 中请求的数据库.登录失败.用 无法打开登录 'xxxx' 中请求的数据库.登录失败.用户 'sa' 登录失败.解决思路 w ...

  5. 【转】无法打开登录所请求的数据库 xxxx。登录失败。 用户 'xxxxx' 登录失败。...

    无法打开登录所请求的数据库 "xxxx".登录失败. 用户 'NT AUTHORITY\SYSTEM' 登录失败. 转载于:https://www.cnblogs.com/fran ...

  6. 无法打开登录所请求的数据库 sa。登录失败。 用户 sa 登录失败。

    今天新建个项目,写了个简单的页面,居然出现了这样的错误: 无法打开登录所请求的数据库 "Albums".登录失败.  用户 'NT AUTHORITY\SYSTEM' 登录失败.网 ...

  7. 无法打开登录所请求的数据库 。登录失败。用户*登录失败。解决办法

    无法打开登录所请求的数据库 "dbName".登录失败. 用户 'IIS APPPOOL/DefaultAppPool' 登录失败. 先用 用户名和密码方式登陆数据库,在安全性登录 ...

  8. 无法打开登录所请求的数据库 xxx。登录失败。用户 'AAA' 登录失败。

    无法打开登录所请求的数据库 "xxx".登录失败.用户 'AAA' 登录失败. 比如,原来在你本地数据库中有一个用户名是AAA,这个数据库是远程数据库在本地的备份,当然远程数据库中 ...

  9. 用Microsoft Office Visio for Enterprise Architects生成数据库时出现“无法打开登录所请求的数据库masterDATABASE=master。登录失败”

    这两天在用Microsoft Office Visio for Enterprise Architects生成数据库时,出现了问题,总是提示:"无法打开登录所请求的数据库"mast ...

最新文章

  1. Asp.net(C#)给图片加上水印效果(转自园上的Seven Eleven)
  2. django创建项目案例1详细介绍方法01
  3. CentOS_7 MongoDb安装使用
  4. Android setFocusableInTouchMode 方法使用和源码详解
  5. redis集群扩容和缩容_Redis一站式管理平台,支持集群的创建、管理、监控和报警...
  6. boost::endian::order的用法测试程序
  7. php5.3无法加载mysql数据库模块_PHP_php5.3不能连接mssql数据库的解决方法,本文实例讲述了php5.3不能连接m - phpStudy...
  8. qq互动视频页面加载失败_互动案例技术分析(2)
  9. springcloud记录篇6-分布式配置中心
  10. Linux之vi 文本编辑命令
  11. node-webkit浏览器插件注册升级方式
  12. MyBatis 动态SQL与SQL片段
  13. 读取和修改caffemodel文件
  14. (BISM)FTP搜索引擎BLOG开通了,专门交流搜索引擎技术
  15. js 把含有转义符的字符串转成json格式
  16. Windows XP SP3需要安装KB888111补丁解决方法
  17. 影视大全android,影视大全下载-影视大全 安卓版v3.4.6-PC6安卓网
  18. 互联网公司愚人节策划大盘点,在恶搞界谁是老大?
  19. 电容式压力传感器分类与原理
  20. 极虎病毒:虎年第一猛毒详解

热门文章

  1. MySQL和java连连看_用 JAVA 开发游戏连连看(之一)动手前的准备
  2. 火锅店市场容量或变化趋势_2020-2026年中国氮肥市场深度研究与投资前景预测报告...
  3. 现在的年轻人。。。到处都是套路。。。
  4. 每日一皮:史上最直观的单向循环链表,还不懂算我输!
  5. 工作中都不用源码,面试的时候为什么要问呢?
  6. 每日一皮:某程序员对书法十分感兴趣。一日饭后突生雅兴...
  7. 最详细的maven教程,可以收藏!
  8. 如何告别那些没卵用的线上告警!
  9. catia 如何提取cgr面_CATIA 创成式外形设计精品课程
  10. cop2000计算机组成原理,COP2000计算机组成原理-南昌大学网络教学平台.doc