作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
每隔一两个月就会有一群机器人访问我的网站并以如此快的速度打开连接,以至于达到我当前的 max_user_connection 值 25(将其增加到 75)。目前,我重新启动服务器,它再次正常工作,直到下一个集群到来。它是一个用 perl 编程的网上商店,尝试使用 DBI connect 获取数据。
所以我有一些问题:一段时间后问题会自行解决吗?还是打开的进程会运行直到重置并尝试从锁定的数据库中获取信息?是否可以执行一个小查询来检查数据库上的最大用户连接数,如果它太高,则退出?还有其他想法可以防止 DOS 攻击或机器人群(考虑在 htaccess 中重新引用亚洲 IP)吗?
最佳答案
您可以使用模块检测(例如机器人)。例如HTTP::BrowserDetect 。
use HTTP::BrowserDetect;
my $browser = HTTP::BrowserDetect->new($user_agent_string);
if ( $browser->robot() ) {
# dont open an mysql connection,
# return a cached version of the requested page
# or something like that
...
}
关于mysql max_user_connections 机器人流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23935052/
我是一名优秀的程序员,十分优秀!