本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
如果来自某些非浏览器用户代理的流量被错误屏蔽,则可以通过将违规的 Bot Control 规则设置为 Coun AWS WAF t,然后将该规则的标签与您的例外标准结合起来SignalNonBrowserUserAgent
来创建例外。
注意
移动应用程序通常具有非浏览器用户代理,SignalNonBrowserUserAgent
规则在默认情况下会阻止这些代理。
以下规则使用机器人控制功能托管规则组,但会将 SignalNonBrowserUserAgent
规则操作覆盖为计数。信号规则像往常一样将其标签应用于匹配的请求,但仅对它们进行计数,而不是执行通常的阻塞操作。
{ "Name": "AWS-AWSBotControl-Example", "Priority": 5, "Statement": { "ManagedRuleGroupStatement": { "VendorName": "AWS", "Name": "
AWSManagedRulesBotControlRuleSet
", "ManagedRuleGroupConfigs": [ { "AWSManagedRulesBotControlRuleSet": { "InspectionLevel": "COMMON" } } ], "RuleActionOverrides": [ { "ActionToUse": { "Count": {} }, "Name": "SignalNonBrowserUserAgent" } ], "ExcludedRules": [] } }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "AWS-AWSBotControl-Example" } }
以下规则与机器人控制功能 SignalNonBrowserUserAgent
规则添加到其匹配的 Web 请求中的信号标签相匹配。在信号请求中,除了那些拥有我们想要允许的用户代理的请求外,该规则会阻止所有请求。
以下规则必须在 Web ACL 处理顺序中前面的机器人控制功能托管规则组之后运行。
{
"Name": "match_rule",
"Statement": {
"AndStatement": {
"Statements": [
{
"LabelMatchStatement": {
"Scope": "LABEL",
"Key": "awswaf:managed:aws:bot-control:signal:non_browser_user_agent"
}
},
{
"NotStatement": {
"Statement": {
"ByteMatchStatement": {
"FieldToMatch": {
"SingleHeader": {
"Name": "user-agent"
}
},
"PositionalConstraint": "EXACTLY",
"SearchString": "PostmanRuntime/7.29.2",
"TextTransformations": [
{
"Priority": 0,
"Type": "NONE"
}
]
}
}
}
}
]
}
},
"RuleLabels": [],
"Action": {
"Block": {}
},
"VisibilityConfig": {
"SampledRequestsEnabled": true,
"CloudWatchMetricsEnabled": true,
"MetricName": "match_rule"
}
}