网站被间歇性扫描,IP不断更换,我的应对方法

文章目录

  • 背景
  • 应对方式
    • 封ip
    • 自动不响应策略
    • 代码
    • 为啥不上其他防护软件呢?

背景

我负责的一个网站,不出名,平时也没多少流量。1天有几百个就不错了。没想到,这么不起眼的网站也有被人盯上的时候。
一天,后台使用人员告诉我网站打开很慢,慢到不能忍。
我就查询日志,看看出什么问题了,不查不知道,一查吓一跳。当天的日志已经记录了好几个文件,正常情况下不可能,网站根本没那么大的访问量。然后打开日志一看,全是某个ip的访问记录。这个ip在不断的更换网址或者参数,很明显在扫描网站。
在这里插入图片描述

应对方式

封ip

立马封禁这个ip。直接在防火墙里屏蔽这个ip,服务器软件也封禁这个ip。效果是立竿见影,马上日志文件就不再膨胀了。访问量也正常了。
本以为对方会消停点,没想到过了大约1个小时。网站又很慢了,我查看日志,发现换了个ip又在扫描。把这个ip又封禁了。

自动不响应策略

只封禁ip不行,他还会换ip。对方也似乎知道我发现他了,扫描没那么频繁了,但是还是在换ip扫描,间歇性的扫描,一秒钟三四次,隔一段时间扫描一次;他在模拟正常的访问。我得想个应对策略。
查看日志,日志里只要访问不存在的url路径就会有错误记录。想到了一个应对策略。用redis记录,只要某个ip访问错误url路径,就把这个ip作为键,值是次数。这样就记录这个ip访问错误的次数。在入口文件里查询当前访问的ip是否有记录,如果次数超过某个值,就直接退出响应。

代码

错误处添加的代码

//获取ip
$ip=get_user_ip();
//以ip为键
$inc_key='ip_'.$ip;
$redis = new \Redis();
$redis->connect('127.0.0.1', 7280);
$redis->auth('xxxxxxxxxx');
//记录这个ip访问次数
$redis->incr($inc_key);
$redis->close();

入口文件里添加代码

//获取当前ip
$user_ip=get_user_ip();
//以ip为键
$inc_key='ip_'.$user_ip;
$redis = new \Redis();
$redis->connect('127.0.0.1', 7280);
$redis->auth('xxxxxxxxxx');
//获取这个ip访问次数
$ip_num=$redis->get($inc_key);
//如果能取得值,说明曾经访问过错误路径
if($ip_num!==false){//如果访问错误次数大于100,增加这个ip的次数,退出响应。增次数能知道这个ip有多少次错误访问if ($ip_num>100){$redis->incr($inc_key);  $redis->close();  die;}
}
// 关闭Redis连接
$redis->close();

为啥不上其他防护软件呢?

我倒是很想上,加上各种安全防护系统。关键在于花钱,公司不舍得。咱就是个打工的,出问题了就是打工人没做好,要是花钱,老板觉得还养着技术干嘛。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/889748.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WHY - 为什么选择 Rsbuild

目录 一、介绍二、工具对比三、性能 https://rsbuild.dev/zh/guide/start/index 一、介绍 Rsbuild 是由 Rspack 驱动的高性能构建工具,它默认包含了一套精心设计的构建配置,提供开箱即用的开发体验,并能够充分发挥出 Rspack 的性能优势。 二…

停车场系统|Java|SSM|JSP|

【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…

hive—常用的日期函数

目录 1、current_date 当前日期 2、now() 或 current_timestamp() 当前时间 3、datediff(endDate, startDate) 计算日期相差天数 4、months_between(endDate, startDate) 日期相差月数 5、date_add(startDate, numDays) 日期加N天 6、date_sub(startDate, numDays) 日期减…

12.11函数 结构体 多文件编译

1.脑图 定义一个数组,用来存放从终端输入的5个学生的信息【学生的信息包含学生的姓名、年纪、性别、成绩】 1>封装函数 录入5个学生信息 2>封装函数 显示学生信息 3>封装函数 删除第几个学生信息,删除后调用显示学生信息函数 显示 4> 封…

从 Router 到 Navigation:HarmonyOS 路由框架的全面升级与迁移指南

在本教程中,我们深入探讨了 Router 和 Navigation 在 HarmonyOS 中的用法差异及如何从 Router 切换到 Navigation 的方法。重点涵盖了页面跳转、转场动画、生命周期管理以及跨包路由的实现。 页面结构对比 Router 页面结构 每个页面需要使用 Entry 注解。 页面需要…

【工具】linux matlab 的使用

问题1 - 复制图表 在使用linux matlab画图后,无法保存figure。 例如在windows下 但是在linux下并没有这个“Copy Figure”的选项。 这是因为 “ The Copy Figure option is not available on Linux systems. Use the programmatic alternative.” 解决方案&…

windows11 专业版 docker desktop 安装指南

家庭中文版需升级专业版,家庭版没有hyper-v。 开始运行optionalfeatures.exe打开windows功能 安装wsl2 步骤 1 - 启用适用于 Linux 的 Windows 子系统步骤 2 - 检查运行 WSL 2 的要求步骤 3 - 启用虚拟机功能步骤 4 - 下载 Linux 内核更新包 步骤 1 - 启用适用于 L…

工业大数据分析算法实战-day01

文章目录 前言day01工业上刻画物理世界模型忽略业务的数据挖掘是本末倒置数据分析算法的朴素思想 前言 从毕业后从事的行业是机房动力环境运维行业,职责为动环设备的监控预警和故障诊断,核心主旨为动环设备的数智化,个人浅见从大类视角来看隶…

bug:uniapp运行到微信开发者工具 白屏 页面空白

1、没有报错信息 2、预览和真机调试都能正常显示,说明代码没错 3、微信开发者工具版本已经是win7能装的最高版本了,1.05版 链接 不打算回滚旧版本 4、解决:最后改调试基础库为2.25.4解决了,使用更高版本的都会报错,所…

用 Python 实现经典的 2048 游戏:一步步带你打造属于你的小游戏!

用 Python 实现经典的 2048 游戏:一步步带你打造属于你的小游戏!(结尾附完整代码) 简介 2048 是一个简单而又令人上瘾的数字拼图游戏。玩家通过滑动方块使相同数字的方块合并,目标是创造出数字 2048!在这篇…

【Go】-倒排索引的简单实现

目录 什么是倒排索引 定义 基本结构和原理 分词在倒排索引中的重要性 简单倒排索引的实现 接口定义 简单数据库的实现 倒排索引 正排索引 测试 总结 什么是倒排索引 定义 倒排索引(Inverted Index)是一种索引数据结构,它是文档检…

智汇云舟4个案例入选“中国联通智慧城市物联感知与AI应用案例”

12月10日,由中国联通智慧城市军团联合联通数字科技有限公司物联网事业部、物联中国团体组织联席会共同主办的“中国联通首届智慧城市领域物联感知与AI应用优秀案例发布交流大会”在郑州举行。大会现场对50余个优秀案例进行了集中发布与表彰。智汇云舟凭借深厚的技术…

http 502 和 504 的区别

首先看一下概念: 502:作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。503:由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢…

博弈论3:图游戏SG函数(Graph Games)

目录 一、图游戏是什么 1.游戏特征 2.游戏实例 二、图游戏的必胜策略 1.SG 函数(Sprague-Grundy Function) 2.必胜策略(利用SG函数) 3.拿走游戏转化成图游戏(Take-away Game -> Graph Game) 一、图…

免费生成AI PPT产品推荐?

要完全免费几乎是没有的,要知道AI还是非常烧钱的。 不过免费蹭还是有很多方法的,这里收集了一些: 下面分享我自己免费蹭过的几款AI制作PPT的工具。 1 金山-WPS PPT对我们来说并不陌生,而微软的PowerPoint与金山的WPS也是我们最常…

Python机器视觉的学习

一、二值化 1.1 二值化图 二值化图:就是将图像中的像素改成只有两种值,其操作的图像必须是灰度图。 1.2 阈值法 阈值法(Thresholding)是一种图像分割技术,旨在根据像素的灰度值或颜色值将图像分成不同的区域。该方法…

Cisco Packet Tarcer配置计网实验笔记

文章目录 概要整体架构流程网络设备互连基础拓扑图拓扑说明配置步骤 RIP/OSPF混合路由拓扑图拓扑说明配置步骤 BGP协议拓扑图拓扑说明配置步骤 ACL访问控制拓扑图拓扑说明配置步骤 HSRP冗余网关拓扑图拓扑说明配置步骤 小结 概要 一些环境配置笔记 整体架构流程 网络设备互连…

【优选算法】二分算法(在排序数组中查找元素的第一个和最后一个位置,寻找峰值,寻找排序数组中的最小值)

二分算法简介: 提到二分我们可能都会想起二分查找,二分查找要求待查找的数组是有序的,与我们今天讲的二分算法不同,并不是数组元素严格按照有序排列才可以使用二分算法,只要数组中有一个点可以将数组分为两个部分&…

下载与使用PCL启动器(2.8.12正式版)

一.下载PCL启动器 PCL启动器下载官网:爱发电 连接创作者与粉丝的会员制平台将创作的自由还给创作者!爱发电是让创作者简单地获得稳定收入的粉丝赞助平台。无论你在创作什么,都能在这里获得持续的资金支持,让创作从此更自由。htt…

【ArcGIS】基于R语言、MaxEnt模型融合技术的物种分布模拟、参数优化方法、结果分析制图与论文写作

第一章、以问题导入的方式,深入掌握原理基础【理论篇】 1、R语言入门: (1)安装R及集成开发环境(IDE);(2)R语言基础语法与数据结构,包括:程序包安…