WAF 配置文件包含从 HTTP Content-Type 值到 WAF 请求正文处理程序的映射。请求正文处理程序是一个 WAF 组件,负责解析特定格式的 HTTP 请求,如 application/x-www-form-urlencoded、JSON 或 XML。本部分详细介绍了各种内容类型的 WAF 请求正文解析程序以及 WAF 如何使用它们。
尽管 WAF 附带常用内容类型的默认设置,但在某些情况下,可能需要配置特定应用程序使用的特定内容类型。例如,如果将 application/xml Content-Type 配置为使用请求正文处理程序 XML,则表示在 WAF 处理具有 application/xml Content-Type 标头的 HTTP 请求时,将使用 XML 请求正文处理程序。XML 请求正文处理程序解析请求的 XML 内容,并允许在特征码规则中使用 XML 变量。
以下是可用请求正文解析程序的列表。
请求正文解析程序 |
描述 |
---|---|
URL 编码 |
URL 编码数据 (application/x-www-form-urlencoded Content-Type) 的 WAF 请求正文解析程序。 |
多段 |
多段表单数据 (Content-Type multipart/form-data) 的 WAF 请求正文解析程序。 |
JSON |
JSON 数据的 WAF 请求正文解析程序。 |
XML |
XML 数据的 WAF 请求正文解析程序。 |
作为字符串 |
不会尝试以任何方式解释入站请求正文并且不会设置 ARGS WAF 变量的 WAF 请求正文解析程序。REQUEST_BODY 变量设置为请求正文数据的值。 HTTP 请求被视为文本,并且 WAF 会尝试扫描请求数据中的潜在攻击向量。但是,如果可能,建议使用更具体的请求正文解析程序。 |
不解析 |
不会尝试解析入站请求并且不会设置任何 WAF 变量的 WAF 请求正文解析程序,可有效关闭针对给定内容类型的 WAF 保护。如果需要,请在自定义特征码规则中使用 |
编写自定义 CRS(核心规则集)之前或之后的规则时,您可以在满足规则中指定的条件时使用 ctl:requestBodyProcessor 操作来设置请求正文处理程序。使用 ctl:requestBodyProcessor 操作设置请求正文处理程序的优先级高于 WAF 配置文件设置。