ctl
描述:在此次访问的基础上,临时修改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