当前位置: 首页 > news >正文

网站遭受扫描攻击,大量爬虫应对策略

网站的日志里突然有很多访问路径不存在的,有些ip地址也是国外的,而且访问是在深夜且次数非常频繁紧密。判定就是不怀好意的扫描网站寻找漏洞。也有些是爬虫,且是国外的爬虫,有的也是不知道的爬虫爬取网站。网站的真实流量不多,资源都被这些流氓给浪费了。

初始策略

起初发现某个ip,apache、防火墙封禁ip。

这个策略不好用,因为换个ip继续扫描。也不能实时盯着网站日志。

进一步策略

访问不存在的路径的ip,就记录下来,存储到redis,记录次数。
在入口文件检测当前访问的ip在redis里有没有记录,如果次数超过50次,直接返回404。

这个策略确实挡住了很多扫描,但是还是不能减少扫描。花钱购买防护软件不舍得。只能被动的防守。

终极策略

终于找到了反制策略,感谢大神。在此处也给自己记录一下。

反之策略zip炸弹。简单说,zip 炸弹是一种超小的压缩文件,解压之后却会变成一个巨大的文件,能让处理它的系统崩溃。

linux代码

dd if=/dev/zero bs=1G count=10 | gzip -c > /www/10GB.gz

这个命令的作用如下:

  • dd:用于拷贝或转换数据;
  • if:指定输入文件,这里是 /dev/zero,一个会不断生成零字节数据的特殊设备;
  • bs=1G:设置块大小为 1GB,意味着每次处理 1GB 数据;
  • count=10:处理 10 个这样的块,总共生成 10GB 的零数据;
  • 然后我们将这些数据通过管道传给 gzip,生成一个压缩文件 10GB.gz,压缩后大小大约是 10MB。
//省略从redis获取当前ip的次数,假设$num就是次数
if ($num>50) {    header("Content-Encoding: deflate, gzip");    $GB10="/www/10GB.gz";header("Content-Length: " . filesize($GB10)); readfile($GB10);    exit;
}

流氓IP访问的时候,就直接返回这个10GB的压缩软件,让它解压缩解到崩溃。

http://www.xdnf.cn/news/424207.html

相关文章:

  • C++伯罗奔尼撒箭阵 全国信息素养大赛复赛决赛 C++小学/初中组 算法创意实践挑战赛 内部集训模拟题详细解析
  • springboot2.7.18 升级到3.1.5过程
  • Ubuntu 22.04.5 LTS 系统中配置仓库源
  • Gartner《如何有效融合Data Fabric 与Data Mesh数据战略》学习心得
  • 【TDengine源码阅读】DLL_EXPORT
  • 【设备管理—磁盘调度算法】
  • 【FMMT】基于模糊多模态变压器模型的个性化情感分析
  • 动态引入document.write的脚本
  • 出于PCB设计层面考虑,连排半孔需要注意哪些事项?
  • 5. 动画/过渡模块 - 交互式仪表盘
  • talk-linux 不同用户之间终端通信
  • C++ 基础知识
  • C++—特殊类设计设计模式
  • 汇添富基金徐寅喆:低利率环境下的短债基金投资策略
  • Hadoop的目录结构和组成
  • CSS3 基础知识、原理及与CSS的区别
  • 基于FPGA的视频接口之千兆网口(六GigE纯逻辑)
  • 使用scp命令拷贝hadoop100中文件到其他虚拟机中
  • SQL、Oracle 和 SQL Server 的比较与分析
  • 数据结构(一) 绪论
  • 【C语言极简自学笔记】井字棋开发
  • Ozon平台产品关键词优化指南:精准引流与转化提升实战策略
  • 影刀RPA开发-CSS选择器介绍
  • 中国品牌日 | 以科技创新为引领,激光院“风采”品牌建设结硕果
  • vscode 同一个工作区,不同文件夹之间跳转问题
  • 嵌入式学习笔记 - HAL_ADC_ConfigChannel函数解析
  • 2025-05-13 Unity 网络基础12——大小端模式
  • centos中JDK_PATH 如何设置
  • 从 Vue3 回望 Vue2:事件总线的前世今生
  • Oracles数据库通过存储过程调用飞书接口推送群组消息