处理阶段
ModSecurity 2.x允许将规则置于Apache请求周期的以下五个阶段之一:
请求头(REQUEST_HEADERS)
请求体(REQUEST_BODY)
响应头(RESPONSE_HEADERS)
响应体(RESPONSE_BODY)
日志记录(LOGGING)
以下是标准的Apache请求周期图。 在该图中,显示了5个ModSecurity处理阶段。
为了选择规则执行的阶段,请直接在规则中使用phase动作或者配置SecDefaultAction指令:
SecDefaultAction "log,pass,phase:2,id:4"
SecRule REQUEST_HEADERS:Host "!^$" "deny,phase:1,id:5"
注意:每个阶段的可用数据是累积的。这意味着当您进入后续阶段时,您可以从事务中访问越来越多的数据。
注意:请记住,规则是根据阶段执行的,因此即使两个规则在配置文件中相邻,但设置为在不同阶段执行,它们也不会一个接一个地触发。配置文件中的规则顺序仅在每个阶段的规则中很重要。使用skip和skipAfter操作时,这一点尤为重要。
注意:LOGGING阶段很特殊。无论前一阶段发生了什么,它都会在每笔交易结束时执行。这意味着即使截获请求或使用允许操作来传递事务,也会对其进行处理。
Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor