diff --git a/pkg/waf/waap_rule/modsecurity.go b/pkg/waf/waap_rule/modsecurity.go index 7060ebf1f..1ac7486db 100644 --- a/pkg/waf/waap_rule/modsecurity.go +++ b/pkg/waf/waap_rule/modsecurity.go @@ -82,6 +82,10 @@ func (m *ModsecurityRule) generateRuleID(rule *CustomRule, waapRuleName string, func (m *ModsecurityRule) buildRules(rule *CustomRule, waapRuleName string, and bool, toSkip int, depth int) ([]string, error) { ret := make([]string, 0) + if len(rule.And) != 0 && len(rule.Or) != 0 { + return nil, fmt.Errorf("cannot have both 'and' and 'or' in the same rule") + } + if rule.And != nil { for c, andRule := range rule.And { depth++