有时候网站上的大部分流量来自各种机器人,包括“好的”机器人(例如搜索引擎)和“坏的”机器人(例如内容抓取工具)。我们需要获得有关网站上机器人数量和类型的数据,来分析流量来源。
另外在进行Bot control
时还需要留意成本,对静态对象(CSS 样式表、JavaScript 文件等)等没有必要进行保护。例如开发人员使用以下 RegEx 语句来排除静态文件:
(?i)\.(jpe?g|gif|png|svg|ico|css|js|woff2?)$
可以使用 AWS WAF Bot control托管规则集来了解站点上的机器人流量。Bot control托管规则组提供基本的通用保护级别,自动识别机器人并添加标签。有关更多详细信息,请查看 文档
首先,创建一个正则表达式模式集,以根据开发人员输入过滤掉静态内容。
创建正则表达式模式集:
pattern sets
名称:static-content
(?i)\.(jpe?g|gif|png|svg|ico|css|js|woff2?)$
接下来,启用 AWS WAF Bot control以了解机器人流量。先进行Count,以确保不会阻止任何机器人流量。
添加Bot control有两种方式,一种是在 Bot control dashboard
里直接添加:
另一种是先进入到WebACL页面, 添加managed rule groups
:
在AWS managed rule groups
中找到Bot control
,点击Add to web ACL
,然后Edit:
对于Bot Control 检查级别,选择Common:
在 Scope of inspection
部分里,选择match a scope-down statement
, 以减少检查的范围,控制成本
在Bot control rules中,选择Override to Count
:
这样所有的检查规则都会为Count模式。
最后添加规则并保存。完成后的效果: