Azure WAF 排除,RequestArgNames 和 RequestArgValues 有什么区别?

问题描述 投票:0回答:1

我正在阅读 docs,但我只是不明白匹配变量

RequestArgNames
RequestArgValues
之间有什么区别。

仅通过查看表格,这两个匹配变量似乎执行相同的操作(第 3第 5 行): exclusion by match variable


我想做的(似乎不可能)是排除某些查询参数的值(如果这些值本身包含某个字符串)。

例如:
匹配变量:

?

选择器示例:
import

乌里:
http://localhost:8080/?text=something-important&import=true&todo=gimport

被排除的内容:
something-important
gimport

azure azure-waf
1个回答
0
投票

通过参考 MSDoc,明确提到

RequestArgNames
RequestArgValues
在 WAF 匹配排除下的请求属性中以相同的方式工作,如下所示。

按名称请求属性的工作方式与按值请求属性相同,包含在内是为了向后兼容 CRS 3.1 及更早版本。我们建议您使用按值的请求属性,而不是按名称的属性。

例如,如果请求Uri是

Uri: http://localhost:8080/?text=/etc/passwd
,使用匹配变量
RequestArgNames
RequestArgValues
排除
/etc/passwd
,如上面 MS 文档中给出的。

您可以在Azure Portal下的WAF中进行相应管理,如下所示。

enter image description here

在您的示例中,您选择的示例选择器是

import
。它会排除 Uri 中包含
import
选择器的值。

© www.soinside.com 2019 - 2024. All rights reserved.