WAF 配置文件包含从 HTTP Content-Type 值到 WAF 请求正文处理程序的映射。请求正文处理程序是一个 WAF 组件,负责解析特定格式的 HTTP 请求,如 application/x-www-form-urlencodedJSONXML。本部分详细介绍了各种内容类型的 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 保护。如果需要,请在自定义特征码规则中使用 ctl:forceRequestBodyVariable 设置 REQUEST_BODY 变量。

如果没有为给定的 Content-Type 值配置请求正文处理程序,WAF 将使用 作为字符串值。
注:

编写自定义 CRS(核心规则集)之前或之后的规则时,您可以在满足规则中指定的条件时使用 ctl:requestBodyProcessor 操作来设置请求正文处理程序。使用 ctl:requestBodyProcessor 操作设置请求正文处理程序的优先级高于 WAF 配置文件设置。