华为云WAF,开启web网站的专属反爬虫防护罩

news/2025/2/6 12:42:20/

背景

从保护原创说起

作为一个原创技术文章分享博主,日常除了Codeing就是总结Codeing中的技术经验。

之前并没有对文章原创性的保护意识,直到在某个非入驻的平台看到了我的文章,才意识到,辛苦码字、为灵感反复试验创作出来的文章,被别人轻轻松松的用爬虫就爬走了。

除了原创保护的困扰,还在工作中遇到过类似的爬虫困扰。比如之前做的一个商品的榜单,也是遭到了大量爬虫的恶意爬取,未经授权使用我们的数据,且占用我们的带宽。

反爬虫的Plan A 和 Plan B

Plan A:自制反爬虫策略

之前借鉴过别人的反爬虫策略,比如SVG映射、数字映射、IP限制等。

奋码疾敲了很久,将主流的反爬虫策略实现了一遍,结果,还是有爬虫能跳过这些机制。

费事费力费心神,结果收效审问。

Plan B :Web应用防火墙

既然我们的电脑有防火墙,帮助产生一道保护屏障,那么Web应用是不是也可以通过防火墙隔离爬虫的爬取呢?

我找了一下,发现华为云还真的提供了此类防护——WAF。

于是我果断选择了Plan B,也不由感慨一句:

华为云了解越多,技术之路走的越宽。

WAF

初步了解

WAF是Web应用防火墙的缩写,是华为云提供的对网站业务流量进行多维度检测和防护。

Web应用防火墙(Web Application Firewall, WAF),通过对HTTP(S)请求进行检测,识别并阻断SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等攻击,保护Web服务安全稳定。

深入了解

仔细研究了一下WAF的产品优势和使用场景,发现除了我目前比较需要的防爬虫的功能,其实WAF提供的大部分功能,作为一个前端开发者,都或多或少用的上。

比如防网页篡改,在刚入行的时候,就学习过如何预防xss攻击和CSRF攻击。

再比如秒杀防护,对于电商类网站,十分友好。我们现在做活动,每次都会进行压测。

此外,WAF还提供了内容安全检测功能,可以帮助减少人为的疏忽。

这样一来,使用WAF,相当于用了一份的成本精力,同时获得了多份的防护。

想要进一步了解WAF,可查看官方介绍。

反爬虫防护策略配置实战

前置条件

域名接入WAF

防护策略配置前,需要将域名接入WAF。具体的接入步骤,可以按照《添加防护域名(云模式)》提供的流程,写的很详细。

JS脚本反爬虫条件列表

在添加排除请求规则时,需要添加条件列表。

以下为添加条件列表的参数说明,可以结合参数说明,根据实际需求设计条件列表。

参数

参数说明

示例

规则名称

自定义规则名称。

waf

规则描述

可选参数,设置该规则的备注信息。

-

生效时间

立即生效。

立即生效

条件列表

条件设置参数说明如下:

  • 字段:在下拉列表中选择需要防护的字段,当前仅支持“路径”、“User Agent”。
  • 子字段
  • 逻辑:在“逻辑”下拉列表中选择需要的逻辑关系。
  • 内容:输入或者选择条件匹配的内容。

创建引用表的详细操作请参见创建引用表。

“路径”包含“/admin/”

优先级

设置该条件规则检测的顺序值。如果您设置了多条规则,则多条规则间有先后匹配顺序,即访问请求将根据您设定的优先级依次进行匹配,优先级较小的规则优先匹配。

5

我目前需要的条件列表如下:

规则名称

生效时间

条件列表

优先级

fpc

立即生效

路径:/activity

5

策略配置步骤

这里我参照了文档《通过配置反爬虫防护策略阻止爬虫攻击》进行配置。

主要分为三个步骤:

1、开启Robot检测

2、开启网站反爬虫

3、配置CC攻击防护

配置完成之后,可以自测一下。

当访问超过限制后需要输入验证码才能继续访问。

总结

WAF我目前只体验了反爬虫防护策略配置,配置流程很简单。主要是前置的域名接入WAF稍微有点复杂,不过接入成功,就可以开启后续的多重体验了。

此外,WAF入门版支持免费体验一个月,对于还处于探索阶段的开发者,用于前期技术调研,十分的友好。


作者简介:

非职业「传道授业解惑」的开发者叶一一。

「趣学前端」、「CSS畅想」系列作者,华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。如果看完文章有所收获,欢迎点赞👍 | 收藏⭐️ | 留言📝。


http://www.ppmy.cn/news/1338208.html

相关文章

湘潭大学-计算机网络-补考

背景 卷面分23,平时分85,各占百分之50,最终54,遗憾挂科 大学第一次补考 计划 首先把湖科大教书匠的计算机网络视频看一遍,并做一些笔记 然后看教材 刚看到老师说最好的复习资料是书和课后作业(想起来…

Linux编辑器之vim的使用

文章目录 一、vim简介二、vim的基本概念三、vim的基本操作四、vim正常模式命令集移动光标删除文字复制替换撤销上一次操作更改跳至指定的行vim末行模式命令集列出行号跳到文件中的某一行查找字符保存文件离开vim 五、进阶vim玩法打开文件批量注释代码执行shell命令指定注释窗口…

空间站管理的未来:可视化技术的革命性变革

随着科技的飞速发展,人类在太空探索的道路上越走越远。空间站作为人类在太空中的“家”,其管理变得尤为重要。可视化技术作为现代科技的代表,正在为空间站管理带来革命性的变革。 如图是山海鲸可视化搭建的空间站管理可视化大屏↓↓↓ 一、可…

Django实例_后台管理及分页器

原理步骤参考: Django开发_14_后台管理及分页器-CSDN博客 一、创建Django项目 二、创建page_app python manage.py startapp page_app三、修改settings.py文件 (一)添加app (二)设置每页显示数据个数 (三)设置中文显示 四、总路由添加子路由路径 from django.contrib impo…

Qt Excel读写 - QXlsx的安装配置以及测试

Qt Excel读写 - QXlsx的安装配置以及测试 引言一、安装配置二、简单测试 引言 Qt无自带的库处理Excel 文件,但可通过QAxObject 借助COM接口进行Excel的读写1。亦可使用免费的开源第三方库:QXlsx,一个基于Qt库开发的用于读写Microsoft Excel文…

事务、MVCC、锁

目录 事务MVCC锁 事务 四大特性:ACID 脏读:事务A读取到未提交事务B修改的数据 不可重复读:事务A修改了未提交事务B读取的数据 幻读:事务A增删了未提交事务B读取的数据 不可重复读与幻读都是读取的结果不同,前者侧重于…

如何做好与现场研发需求对接,提高产品质量

1.需求是谁提出来的,这个需求对应的功能使用频率如何? 2.这个需求的紧急程度如何?立马就要做?还是可以考虑排期? 3.提出的需求是为了解决什么问题?在完成这个需求之前?现状是什么样的? 4.提出的…

Java关于Excel文件的导入导出

人生如梦 荣华富贵 如木槿之花 朝荣夕逝 需求 导出: 能够将库表内的数据导出多个Excel表,并且生成一个压缩包,提供用户下载导入: 能够将一个压缩包内的多个Excel表解压,并获取表内的所有数据 FileUtils 工具类 publi…