SERVER_PORT
这个变量包含Web服务器正在侦听本地端口。例如:
SecRule SERVER_PORT "^80$"
SESSION
这个变量是一个集合,仅在setsid执行后才可用。例如:下面的示例将演示如何用setsid初始化一个SESSION集合,如何用setvar来增加session.score的值,怎样设置session.blocked变量,最后怎样根据session.blocked的值来拒绝连接。
SecRule REQUEST_COOKIES:PHPSESSID !^$ chain,nolog,pass
SecAction setsid:%{REQUEST_COOKIES.PHPSESSID}
SecRule REQUEST_URI "^/cgi-bin/finger$" \
"phase:2,t:none,t:lowercase,t:normalisePath,pass,log,setvar:session.score=+10"
SecRule SESSION:SCORE "@gt 50" "pass,log,setvar:session.blocked=1"
SecRule SESSION:BLOCKED "@eq 1" "log,deny,status:403"
SESSIONID
这个变量是用setsid设置的值。例如:
SecRule SESSIONID !^$ chain,nolog,pass
SecRule REQUEST_COOKIES:PHPSESSID !^$
SecAction setsid:%{REQUEST_COOKIES.PHPSESSID}