使用mod_security定制集合

我想创build一个基于用户的IP,会话ID或用户名以外的东西的mod_security集合。 具体来说,基于REQUEST_URI。 但是,mod_security 表明这是不可能的。 我的问题是是否可能有一些解决方法。

我尝试了以下,但不能得到它的工作:

SetEnvIf Request_URI "^\/([a-z0-9]+)\/" account="$1" SecAction setsid:%{account},pass,nolog SecAction "phase:2,pass,setvar:session.count=+1,nolog" SecRule SESSION:COUNT "@gt 60" "phase:2,deny,status:503,skip:1,nolog" SecAction "phase:5,deprecatevar:session.count=1/1,pass,nolog" 

上面应该从URL(第1行)提取帐户名称,并将其用作会话ID(第2行,这是行不通的)。 然后增加包含该账户名称的每个请求的请求计数(第3行)。 如果计数超过60(第4行),则返回503错误。 计数每1秒减less1(第5行)。