描述:使用紧随其后的规则与当前规则进行链接,形成规则链。链式规则允许更复杂的处理逻辑。


所属动作组:流动作


例如:


#拒绝接受不包含Content-Length标头或Content-Length的值为0的POST请求。

#(请注意,此规则应在规则之前

#验证仅使用有效的请求方法。)

SecRule REQUEST_METHOD "^POST$" phase:1,chain,t:none,id:105

 SecRule &REQUEST_HEADERS:Content-Length "@eq 0" t:none

注意:规则链的作用与AND一致。仅当多条规则中的变量检查同时匹配成功时,才会触发链式规则的第一条规则中指定的阻断性操作。链式规则中无论哪一条规则没有匹配成功,则表示整个规则链匹配失败,即不会执行阻断性动作。另请注意,阻断性动作,执行阶段,元数据操作(id,rev,msg,tag,severity,logdata),skip和skipAfter操作只能由链式启动器规则指定。

以下指令可使用规则链:


SecAction

SecRule

SecRuleScript

特殊规则控制链式规则中操作的使用:

任何影响规则流程的操作(即阻断动作,skip和skipAfter)都只能在链式启动器中使用。只有整个链匹配成功时才会执行它们。

任何规则都可以配置非阻断性的动作;如果包含它们的规则匹配,并且不仅仅在整个链匹配时,它们将被执行。

元数据动作(例如,id,rev,msg)仅可用于链启动器。


更多使用方式可参见:ModSecurity规则链编写教程(多个条件同时匹配判断)



Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor