SecUploadKeepFiles
说明:在交互处理后,拦截的文件是否保存。
语法:SecUploadKeepFiles On|Off|RelevantOnly
例子:SecUploadKeepFiles On
处理阶段:无
适用范围:任何
版本:2.0.0
备注:本指令要求定义储存目录待定(使用SecUploadDir)。
可选值:
On - 保持上传的文件。
Off - 不保存上传的文件。
RelevantOnly - 将只保留那些被认为和请求有关的文件。
SecWebAppId
说明:在服务器上创建一个属于一个web应用程序的分区。
语法:SecWebAppId“Name”
例子:SecWebAppId“WebApp1”
处理阶段:无
适用范围:任何
版本:2.0.0
备注:使用分区,以避免session IDs和user IDs的冲突。如果在同一服务器上部署多个应用程序本指令必须使用。如果不使用,会话ID之间的碰撞可能会发生。默认值是default。例如:
<VirtualHost *:80>
ServerName app1.com
ServerAlias www.app1.com
SecWebAppId "App1"
SecRule REQUEST_COOKIES:PHPSESSID !^$ chain,nolog,pass
SecAction setsid:%{REQUEST_COOKIES.PHPSESSID}
...
</VirtualHost>
<VirtualHost *:80>
ServerName app2.com
ServerAlias www.app2.com
SecWebAppId "App2"
SecRule REQUEST_COOKIES:PHPSESSID !^$ chain,nolog,pass
SecAction setsid:%{REQUEST_COOKIES.PHPSESSID}
...
</VirtualHost>
以上两个例子所示配置,SecWebAppId与使用的Apache VirtualHost指令同时使用。当在同一个
服务器上部署多个虚拟主机时该指令可以获得不同的集合名称。
这是怎么实现创造更独特的集合名称时,被一台服务器上托管。一般来说,当setsid使用,ModSecurity将创建具有名称的集合“会议”,并将于指定值。与使用SecWebAppId如例子所示,然而,集合的名称将成为“App1_SESSION”和“App2_SESSION”。 一般情况下,当setsid使用后,ModSecurity将和”Session”生成一个集合,像上面的例子,集合将变成"App1_SESSION" 和 "App2_SESSION"。
SecWebAppId和两种情况有关:
l 你要记录交互/警报给modsecurity控制台,并且你要使用web应用程序ID来寻找这个交互属于哪个应用程序。
l 您正在使用持久数据机制(集合会话和用户),您需要避免属于不同的应用程序的用户冲突。