字符串匹配规则语句 - Amazon WAF、Amazon Firewall Manager 和 Amazon Shield Advanced
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

字符串匹配规则语句

字符串匹配语句指示 Amazon WAF 要在请求中搜索的字符串、在请求中的搜索位置以及如何搜索。例如,您可以在请求中查找任何查询字符串开头的特定字符串,也可以查找请求 User-agent 标头的精确匹配项。字符串通常由可打印 ASCII 字符组成,但您可以使用从十六进制 0x00 到 0xFF (十进制 0 到 255) 的任何字符。

嵌套— 您可以嵌套此语句类型。

世界协调单位— 基本成本取决于您使用的匹配类型。

  • 与字符串完全匹配—2

  • 以字符串开头—2

  • 以字符串结尾—2

  • 包含字符串—10

  • Contains word—10

如果您使用请求组件All query parameters (所有查询参数), 增加 10 个世界协调单位. 如果您使用请求组件JSON 正文,将语句的基本成本 WCU 加倍。Foring Ead文本转换,请添加 10 个 WCU。

此语句在 Web 请求组件上运行,并且需要以下请求组件设置:

  • 请求组件— 要检查的 Web 请求的部分,例如,查询字符串或正文。有关更多信息,请参阅请求组件

  • 可选文本转换— 您想要的转换Amazon WAF在检查请求组件之前对其执行。例如,您可以转换为小写或规范化空格。如果您指定多个转换,Amazon WAF按照列出的顺序处理它们。有关更多信息,请参阅文本转换

此外,此语句需要以下设置:

  • 要匹配的字符串— 这是您想要的字符串Amazon WAF与指定的请求组件进行比较。字符串通常由可打印 ASCII 字符组成,但您可以使用从十六进制 0x00 到 0xFF (十进制 0 到 255) 的任何字符。

  • 字符串匹配条件— 这表示您想要的搜索类型Amazon WAF要执行的操作。

    • 与字符串完全匹配— 字符串和请求组件的值相同。

    • 以字符串开头— 字符串出现在请求组件的开头。

    • 以字符串结尾— 字符串出现在请求组件的末尾。

    • 包含字符串— 字符串在请求组件中的任何位置出现。

    • Contains word— 您指定的字符串必须出现在请求组件中。对于此选项,指定的字符串必须仅包含字母数字字符或下划线(A-Z、a-z、a-z、a-z、a-z、0-9 或 _)。

      必须满足以下条件之一才能匹配请求:

      • 字符串与请求组件的值精确匹配,如标头的值。

      • 字符串位于请求组件的开头,并且后跟字母数字字字符或下划线 (_) 之外的字符 (例如,)BadBot;.

      • 字符串位于请求组件的末尾,并且前面是字母数字字字符或下划线 (_) 之外的字符 (例如,);BadBot.

      • 字符串位于请求组件的中间,并且前面和后面是字母数字字符或下划线 (_) 之外的字符,例如,-BadBot;

此语句的查找位置

  • 规则生成器在控制台上 — 对于Match type中,选择字符串匹配条件,然后填写匹配所依据的字符串。

  • API 语句ByteMatchStatement