mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2025-11-16 23:20:25 +08:00
WAF操作符增加包含任一单词、包含所有单词、不包含任一单词
This commit is contained in:
@@ -4,28 +4,31 @@ type HTTPFirewallRuleOperator = string
|
|||||||
type HTTPFirewallRuleCaseInsensitive = string
|
type HTTPFirewallRuleCaseInsensitive = string
|
||||||
|
|
||||||
const (
|
const (
|
||||||
HTTPFirewallRuleOperatorGt HTTPFirewallRuleOperator = "gt"
|
HTTPFirewallRuleOperatorGt HTTPFirewallRuleOperator = "gt"
|
||||||
HTTPFirewallRuleOperatorGte HTTPFirewallRuleOperator = "gte"
|
HTTPFirewallRuleOperatorGte HTTPFirewallRuleOperator = "gte"
|
||||||
HTTPFirewallRuleOperatorLt HTTPFirewallRuleOperator = "lt"
|
HTTPFirewallRuleOperatorLt HTTPFirewallRuleOperator = "lt"
|
||||||
HTTPFirewallRuleOperatorLte HTTPFirewallRuleOperator = "lte"
|
HTTPFirewallRuleOperatorLte HTTPFirewallRuleOperator = "lte"
|
||||||
HTTPFirewallRuleOperatorEq HTTPFirewallRuleOperator = "eq"
|
HTTPFirewallRuleOperatorEq HTTPFirewallRuleOperator = "eq"
|
||||||
HTTPFirewallRuleOperatorNeq HTTPFirewallRuleOperator = "neq"
|
HTTPFirewallRuleOperatorNeq HTTPFirewallRuleOperator = "neq"
|
||||||
HTTPFirewallRuleOperatorEqString HTTPFirewallRuleOperator = "eq string"
|
HTTPFirewallRuleOperatorEqString HTTPFirewallRuleOperator = "eq string"
|
||||||
HTTPFirewallRuleOperatorNeqString HTTPFirewallRuleOperator = "neq string"
|
HTTPFirewallRuleOperatorNeqString HTTPFirewallRuleOperator = "neq string"
|
||||||
HTTPFirewallRuleOperatorMatch HTTPFirewallRuleOperator = "match"
|
HTTPFirewallRuleOperatorMatch HTTPFirewallRuleOperator = "match"
|
||||||
HTTPFirewallRuleOperatorNotMatch HTTPFirewallRuleOperator = "not match"
|
HTTPFirewallRuleOperatorNotMatch HTTPFirewallRuleOperator = "not match"
|
||||||
HTTPFirewallRuleOperatorWildcardMatch HTTPFirewallRuleOperator = "wildcard match"
|
HTTPFirewallRuleOperatorWildcardMatch HTTPFirewallRuleOperator = "wildcard match"
|
||||||
HTTPFirewallRuleOperatorWildcardNotMatch HTTPFirewallRuleOperator = "wildcard not match"
|
HTTPFirewallRuleOperatorWildcardNotMatch HTTPFirewallRuleOperator = "wildcard not match"
|
||||||
HTTPFirewallRuleOperatorContains HTTPFirewallRuleOperator = "contains"
|
HTTPFirewallRuleOperatorContains HTTPFirewallRuleOperator = "contains"
|
||||||
HTTPFirewallRuleOperatorNotContains HTTPFirewallRuleOperator = "not contains"
|
HTTPFirewallRuleOperatorNotContains HTTPFirewallRuleOperator = "not contains"
|
||||||
HTTPFirewallRuleOperatorPrefix HTTPFirewallRuleOperator = "prefix"
|
HTTPFirewallRuleOperatorContainsAnyWord HTTPFirewallRuleOperator = "contains any word"
|
||||||
HTTPFirewallRuleOperatorSuffix HTTPFirewallRuleOperator = "suffix"
|
HTTPFirewallRuleOperatorContainsAllWords HTTPFirewallRuleOperator = "contains all word"
|
||||||
HTTPFirewallRuleOperatorContainsAny HTTPFirewallRuleOperator = "contains any"
|
HTTPFirewallRuleOperatorNotContainsAnyWord HTTPFirewallRuleOperator = "not contains any word"
|
||||||
HTTPFirewallRuleOperatorContainsAll HTTPFirewallRuleOperator = "contains all"
|
HTTPFirewallRuleOperatorPrefix HTTPFirewallRuleOperator = "prefix"
|
||||||
HTTPFirewallRuleOperatorHasKey HTTPFirewallRuleOperator = "has key" // has key in slice or map
|
HTTPFirewallRuleOperatorSuffix HTTPFirewallRuleOperator = "suffix"
|
||||||
HTTPFirewallRuleOperatorVersionGt HTTPFirewallRuleOperator = "version gt"
|
HTTPFirewallRuleOperatorContainsAny HTTPFirewallRuleOperator = "contains any"
|
||||||
HTTPFirewallRuleOperatorVersionLt HTTPFirewallRuleOperator = "version lt"
|
HTTPFirewallRuleOperatorContainsAll HTTPFirewallRuleOperator = "contains all"
|
||||||
HTTPFirewallRuleOperatorVersionRange HTTPFirewallRuleOperator = "version range"
|
HTTPFirewallRuleOperatorHasKey HTTPFirewallRuleOperator = "has key" // has key in slice or map
|
||||||
|
HTTPFirewallRuleOperatorVersionGt HTTPFirewallRuleOperator = "version gt"
|
||||||
|
HTTPFirewallRuleOperatorVersionLt HTTPFirewallRuleOperator = "version lt"
|
||||||
|
HTTPFirewallRuleOperatorVersionRange HTTPFirewallRuleOperator = "version range"
|
||||||
|
|
||||||
HTTPFirewallRuleOperatorContainsBinary HTTPFirewallRuleOperator = "contains binary" // contains binary
|
HTTPFirewallRuleOperatorContainsBinary HTTPFirewallRuleOperator = "contains binary" // contains binary
|
||||||
HTTPFirewallRuleOperatorNotContainsBinary HTTPFirewallRuleOperator = "not contains binary" // not contains binary
|
HTTPFirewallRuleOperatorNotContainsBinary HTTPFirewallRuleOperator = "not contains binary" // not contains binary
|
||||||
@@ -141,6 +144,27 @@ var AllRuleOperators = []*RuleOperatorDefinition{
|
|||||||
CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNo,
|
CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNo,
|
||||||
DataType: "string",
|
DataType: "string",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Name: "包含任一单词",
|
||||||
|
Code: HTTPFirewallRuleOperatorContainsAnyWord,
|
||||||
|
Description: "包含某个独立单词,对比值中每行一个单词,比如mozilla firefox里包含了mozilla和firefox两个单词,但是不包含fire和fox这两个单词",
|
||||||
|
CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNo,
|
||||||
|
DataType: "strings",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "包含所有单词",
|
||||||
|
Code: HTTPFirewallRuleOperatorContainsAllWords,
|
||||||
|
Description: "包含所有的独立单词,对比值中每行一个单词,比如mozilla firefox里包含了mozilla和firefox两个单词,但是不包含fire和fox这两个单词",
|
||||||
|
CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNo,
|
||||||
|
DataType: "strings",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Name: "不包含任一单词",
|
||||||
|
Code: HTTPFirewallRuleOperatorNotContainsAnyWord,
|
||||||
|
Description: "不包含某个独立单词,对比值中每行一个单词,比如mozilla firefox里包含了mozilla和firefox两个单词,但是不包含fire和fox这两个单词",
|
||||||
|
CaseInsensitive: HTTPFirewallRuleCaseInsensitiveNo,
|
||||||
|
DataType: "strings",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Name: "包含二进制数据",
|
Name: "包含二进制数据",
|
||||||
Code: HTTPFirewallRuleOperatorContainsBinary,
|
Code: HTTPFirewallRuleOperatorContainsBinary,
|
||||||
|
|||||||
Reference in New Issue
Block a user