WAF增加包含任一字符串、包含所有字符串操作符

This commit is contained in:
GoEdgeLab
2023-01-06 20:06:57 +08:00
parent ed7680d828
commit f8837f5c5b

View File

@@ -18,6 +18,8 @@ const (
HTTPFirewallRuleOperatorNotContains HTTPFirewallRuleOperator = "not contains"
HTTPFirewallRuleOperatorPrefix HTTPFirewallRuleOperator = "prefix"
HTTPFirewallRuleOperatorSuffix HTTPFirewallRuleOperator = "suffix"
HTTPFirewallRuleOperatorContainsAny HTTPFirewallRuleOperator = "containsAny"
HTTPFirewallRuleOperatorContainsAll HTTPFirewallRuleOperator = "containsAll"
HTTPFirewallRuleOperatorHasKey HTTPFirewallRuleOperator = "has key" // has key in slice or map
HTTPFirewallRuleOperatorVersionGt HTTPFirewallRuleOperator = "version gt"
HTTPFirewallRuleOperatorVersionLt HTTPFirewallRuleOperator = "version lt"
@@ -135,6 +137,18 @@ var AllRuleOperators = []*RuleOperatorDefinition{
Description: "包含字符串后缀部分,比如/hello后缀会匹配/hello, /hi/hello等",
CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNo,
},
{
Name: "包含任一字符串",
Code: HTTPFirewallRuleOperatorContainsAny,
Description: "包含字符串列表中的任意一个,比如/hello/world包含/hello和/hi中的/hello每行一个字符串",
CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNo,
},
{
Name: "包含所有字符串",
Code: HTTPFirewallRuleOperatorContainsAll,
Description: "包含字符串列表中的所有字符串,比如/hello/world必须包含/hello和/world每行一个字符串",
CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNo,
},
{
Name: "包含二进制数据",
Code: HTTPFirewallRuleOperatorContainsBinary,