描述:在此次访问的基础上,临时修改ModSecurity配置。使用此操作所做的任何更改都将仅影响此次访问。默认配置以及并行运行的其他访问将不受影响。


所属动作组:非阻断性动作


例:


#将Content-Type为text/xml的请求解析为XML

SecRule REQUEST_CONTENT_TYPE ^text/xml "nolog,pass,id:106,ctl:requestBodyProcessor=XML"


当REQUEST_URI是/index.php时,#white-list规则#981260的用户参数

SecRule REQUEST_URI "@beginsWith /index.php" "phase:1,t:none,pass, \

 nolog,ctl:ruleRemoveTargetById=981260;ARGS:user


该动作支持以下配置选项:


auditEngine

auditLogParts

debugLogLevel(libModSecurity支持:TBI)

forceRequestBodyVariable

requestBodyAccess

requestBodyLimit(libModSecurity支持:TBI)

requestBodyProcessor

responseBodyAccess(libModSecurity支持:TBI)

responseBodyLimit(libModSecurity支持:TBI)

ruleEngine

ruleRemoveById - 由于此操作是在运行时触发的,因此应在其禁用的规则之前指定。

ruleRemoveByMsg(libModSecurity支持:TBI)

ruleRemoveByTag(libModSecurity支持:TBI)

ruleRemoveTargetById - 由于此操作仅用于删除目标,因此用户无需使用字符!在目标列表之前。

ruleRemoveTargetByMsg - 由于此操作仅用于删除目标,因此用户无需使用字符!在目标列表之前。 (libModSecurity支持:TBI)

ruleRemoveTargetByTag - 由于此操作仅用于删除目标,因此用户无需使用字符!在目标列表之前。

hashEngine(libModSecurity支持:TBI)

hashEnforcement(libModSecurity支持:TBI)

除requestBodyProcessor和forceRequestBodyVariable设置外,每个配置选项对应一个配置指令,用法相同。


requestBodyProcessor选项允许您配置请求体处理器。默认情况下,ModSecurity将使用URLENCODED和MULTIPART处理器分别处理application/x-www-form-urlencoded和multipart/form-data主体。还支持其他两个处理器:JSON和XML,但它们从不自动使用。相反,您必须通过在REQUEST_HEADERS处理阶段放置一些规则来告诉ModSecurity去使用它。在将请求主体作为XML处理之后,您将能够使用与XML相关的功能来检查它。


如果在解析期间发生错误,请求体处理器将不会中断事务。相反,他们将设置变量REQBODY_PROCESSOR_ERROR和REQBODY_PROCESSOR_ERROR_MSG。应在REQUEST_BODY阶段检查这些变量并采取适当的措施。 forceRequestBodyVariable选项允许您配置在没有配置请求体处理器时设置的REQUEST_BODY变量。这允许检查未知类型的请求主体。


注意:2.6.0中引入了ctl:ruleUpdateTargetById,并从2.7.0中的代码中删除。JSON是作为v2.8.0-rc1的一部分添加的



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