描述:执行作为参数提供的外部脚本/二进制文件。从v2.5.0开始,如果提供给exec的参数是Lua脚本(由.lua扩展名检测到),脚本将在内部处理。这意味着您将从脚本直接访问内部请求上下文。有关如何编写Lua脚本的更多详细信息,请阅读SecRuleScript文档。


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


版本:2.x


libModSecurity支持:YES


例:


#当规则匹配成功时运行外部程序

SecRule REQUEST_URI "^/cgi-bin/script\.pl" "phase:2,id:112,t:none,t:lowercase,t:normalizePath,block,\ exec:/usr/local/apache/bin/test.sh"


#当规则匹配成功时运行Lua脚本

SecRule ARGS:p attack "phase:2,id:113,block,exec:/usr/local/apache/conf/exec.lua"


exec独立于指定的任何阻断性动作进行执行。始终不带参数调用外部脚本。某些交易信息将放在环境变量中。所有常见的CGI环境变量都将存在。您应该知道,分支线程进程会导致所有线程在新进程中被复制。因此,分叉可能会在多线程部署中产生更大的开销。你执行的脚本必须写一些东西(任何东西)到stdout;如果没有,ModSecurity将假定脚本失败,并将记录失败。



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