AWS::WAF::SizeConstraintSet SizeConstraint
这是 AWS WAF Classic 文档。有关更多信息,请参阅开发人员指南中的 AWS WAF Classic。
有关最新版本的 AWS WAF,请使用 AWS WAFV2 API 并参阅 AWS WAF 开发人员指南。对于最新版本,AWS WAF 具有一组用于区域和全球范围的终端节点。
指定对 Web 请求的某部分的大小的约束。AWS WAF 使用 Size
、ComparisonOperator
和 FieldToMatch
来构建“Size
ComparisonOperator
size in bytes of FieldToMatch
”格式的表达式。如果该表达式的计算结果为 true,则将 SizeConstraint
视为匹配。
语法
要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:
JSON
{ "ComparisonOperator" :
String
, "FieldToMatch" :FieldToMatch
, "Size" :Integer
, "TextTransformation" :String
}
YAML
ComparisonOperator:
String
FieldToMatch:FieldToMatch
Size:Integer
TextTransformation:String
属性
ComparisonOperator
-
您希望 AWS WAF 执行的比较类型。AWS WAF 将它与所提供的
Size
和FieldToMatch
相结合来构建“Size
ComparisonOperator
size in bytes ofFieldToMatch
”格式的表达式。如果该表达式的计算结果为 true,则将SizeConstraint
视为匹配。EQ:用于测试
Size
是否与FieldToMatch
的大小相同。NE:用于测试
Size
是否与FieldToMatch
的大小不同。LE:用于测试
Size
是否小于或等于FieldToMatch
的大小。LT:用于测试
Size
是否严格小于FieldToMatch
的大小。GE:用于测试
Size
是否大于或等于FieldToMatch
的大小。GT:用于测试
Size
是否严格大于FieldToMatch
的大小。必需:是
类型:字符串
允许的值:
EQ | GE | GT | LE | LT | NE
Update requires: No interruption
FieldToMatch
-
指定在 Web 请求中的什么位置查找大小约束。
必需:是
类型:FieldToMatch
Update requires: No interruption
Size
-
您希望 AWS WAF 与指定
FieldToMatch
的大小进行比较的大小,以字节为单位。AWS WAF 将它与ComparisonOperator
和FieldToMatch
相结合来构建“Size
ComparisonOperator
size in bytes ofFieldToMatch
”格式的表达式。如果该表达式的计算结果为 true,则将SizeConstraint
视为匹配。大小的有效值为 0 - 21474836480 字节 (0 - 20 GB)。
如果指定
URI
作为Type
的值,则 URI 中的 / 计为一个字符。例如,URI/logo.jpg
的长度是 9 个字符。必需:是
类型:整数
Update requires: No interruption
TextTransformation
-
文本转换消除了一些不寻常的格式,可防范攻击者在 Web 请求中使用它们以试图绕过 AWS WAF。如果您指定一个转换,AWS WAF 将在
FieldToMatch
上执行该转换,然后再检查该转换是否匹配。您只能指定一个类型的 TextTransformation。
请注意,如果您为
Type
的值选择BODY
,则必须为TextTransformation
选择NONE
,因为 CloudFront 只转发前 8192 个字节进行检查。NONE
如果您不希望执行任何文本转换,请指定
NONE
。CMD_LINE
如果您担心攻击者注入操作系统命令行命令并使用异常格式伪装部分或所有命令,使用此选项可执行以下转换:
-
删除以下字符:\ " ' ^
-
删除以下字符之前的空格:/ (
-
将以下字符替换为空格:, ;
-
将多个空格替换为一个空格
-
将大写字母 (A-Z) 转换为小写字母 (a-z)
COMPRESS_WHITE_SPACE
使用此选项可将以下字符替换为空格字符(十进制 32):
-
\f,换页符,十进制 12
-
\t,制表符,十进制 9
-
\n,换行符,十进制 10
-
\r,回车符,十进制 13
-
\v,垂直制表符,十进制 11
-
不间断空格,十进制 160
COMPRESS_WHITE_SPACE
还会将多个空格替换为一个空格。HTML_ENTITY_DECODE
使用此选项可将 HTML 编码字符替换为未编码字符。
HTML_ENTITY_DECODE
执行以下操作:-
将
(ampersand)quot;
替换为"
-
将
(ampersand)nbsp;
替换为不间断空格(十进制 160) -
将
(ampersand)lt;
替换为“小于”符号 -
将
(ampersand)gt;
替换为>
-
将以十六进制格式表示的字符
(ampersand)#xhhhh;
替换为对应字符 -
将以十进制格式表示的字符
(ampersand)#nnnn;
替换为对应字符
LOWERCASE
使用此选项可将大写字母 (A-Z) 转换为小写字母 (a-z)。
URL_DECODE
使用此选项可解码 URL 编码的值。
必需:是
类型:字符串
允许的值:
CMD_LINE | COMPRESS_WHITE_SPACE | HTML_ENTITY_DECODE | LOWERCASE | NONE | URL_DECODE
Update requires: No interruption
-