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