本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AND 规则语句
这些区域有:AND 规则语句将嵌套语句与逻辑语句结合在一起 AND 操作,因此所有嵌套语句都必须匹配 AND 要匹配的语句。这至少需要两个嵌套语句。
规则语句特征
嵌套 – 您可以嵌套此语句类型。
WCUs— 取决于嵌套语句。
在何处查找规则语句
-
控制台上的规则生成器 – 对于如果有请求,选择匹配所有语句 (AND),然后填写嵌套语句。
-
API – AndStatement
示例
以下清单显示了的用法 AND 以及 NOT 逻辑规则语句,用于消除 SQL 注入攻击语句的匹配项中的误报。在这个示例中,假设我们可以编写一个单字节匹配语句来匹配导致误报的请求。
AND 语句匹配与字节匹配语句不匹配且与 SQL 注入攻击语句匹配的请求。
{ "Name": "SQLiExcludeFalsePositives", "Priority": 0, "Statement": { "AndStatement": { "Statements": [ { "NotStatement": { "Statement": { "ByteMatchStatement": { "SearchString": "string identifying a false positive", "FieldToMatch": { "Body": { "OversizeHandling": "MATCH" } }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "CONTAINS" } } } }, { "SqliMatchStatement": { "FieldToMatch": { "Body": { "OversizeHandling": "MATCH" } }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ] } } ] } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "SQLiExcludeFalsePositives" } }
使用控制台规则可视化编辑器,您可以嵌套非逻辑语句或 NOT 在 a 之下的声明 OR 或 AND 网页。的筑巢 NOT 语句如前面的示例所示。
使用控制台规则可视化编辑器,您可以将大多数可嵌套语句嵌套在逻辑规则语句下,例如前面的示例中所示的语句。你不能使用可视化编辑器进行嵌套 OR 或 AND 声明。要配置这种类型的嵌套,您需要以 JSON 格式提供规则语句。例如,以下 JSON 规则列表包括 OR 语句嵌套在 AND 网页。
{ "Name": "match_rule", "Priority": 0, "Statement": { "AndStatement": { "Statements": [ { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:bot-control:bot:category:monitoring" } }, { "NotStatement": { "Statement": { "LabelMatchStatement": { "Scope": "LABEL", "Key": "awswaf:managed:aws:bot-control:bot:name:pingdom" } } } }, { "OrStatement": { "Statements": [ { "GeoMatchStatement": { "CountryCodes": [ "JM", "JP" ] } }, { "ByteMatchStatement": { "SearchString": "JCountryString", "FieldToMatch": { "Body": {} }, "TextTransformations": [ { "Priority": 0, "Type": "NONE" } ], "PositionalConstraint": "CONTAINS" } } ] } } ] } }, "Action": { "Block": {} }, "VisibilityConfig": { "SampledRequestsEnabled": true, "CloudWatchMetricsEnabled": true, "MetricName": "match_rule" } }