本文以网页登录和网页存在多个子域名为例,介绍如何自定义防爬场景化规则。

示例一:阿里云官网登录页面

本示例以阿里云国际站官网登录页面(account.alibabacloud.com)为例,介绍防爬场景化防护规则的具体配置。

在阿里云官网单击登录按钮后,触发的网页请求字段如下:登录阿里云官网的示例
场景化防爬规则配置示意图如下:示例场景配置界面规则配置说明:
  • 执行登录操作时,需要在阿里云官网页面上单击登录按钮图标来触发登录请求。这是此次示例场景中防护的最终目标,因此,防护业务场景填写登录
  • 网页登录流程是在浏览器环境下完成的,防护目标类型选择网页/浏览器
  • 登录按钮位于account.alibabacloud.com这个域名下的页面中,但登录请求是提交到passport.alibabacloud.com这个域名的,存在跨域的情况。因此,防护策略本身应该配置在passport.alibabacloud.com域名下,但同时需要选中防护目标有来自其它域名的跨域调用,并填写account.alibaba.com域名。
  • 登录请求本身的特征是URL包含/newlogin/login.do,且请求方法为POST。因此,防护目标特征需要按该特征进行定义。

示例二:阿里云官网解决方案详情页面

本示例以阿里云国际站官网解决方案详情页面(alibabacloud.com/solutions)为例,介绍防爬场景化防护规则的具体配置。

以下是本示例中提及的阿里云解决方案详情页面:官网页面配置示例二
场景化防爬规则配置示意图如下:解决方案页面防爬规则配置规则配置说明如下:
  • 此次示例场景中防护的最终目标是alibabacloud.com/solutions页面下的各个解决方案子页面。因此,防护业务场景填写解决方案详情页
  • 访问该页面是在浏览器环境下完成的,防护目标类型选择网页/浏览器
  • 在阿里云解决方案详情页面(alibabacloud.com/solutions),访问单个解决方案页面,其URL结构为/solutions/xxx。因此,防护目标特征设置为URLPath包含/solutions/、请求方法为GET。本示例中不涉及跨域请求,因此,无需选择防护目标有来自其它域名的跨域调用。您也可以根据业务场景的实际情况,添加更多防护条件,例如user-agent、param、referer等。