修复php-url-fopenfilter的fail2ban正则expression式规则

我正在修复默认的php-url-fopenfilter,以允许我在我的系统中使用一些GET查询参数(它不是公开的,但我仍然想阻止不必要的请求)。 问题是,我得到了一个参数名称的工作正则expression式,但我不能得到两个参数的工作正则expression式,其中第二个opiton是从两个名称组合。 我正在使用fail2ban 0.8.11 – 这是工作(失败)正则expression式:

^<HOST> -.*"(GET|POST).*\?.*(?<!outer)\=http\:\/\/.* HTTP\/.*$ 

这是不正常的正则expression式:

 ^<HOST> -.*"(GET|POST).*\?.*(?<!outer|type\=outer\&url)\=http\:\/\/.* HTTP\/.*$ 

当我尝试使用非工作正则expression式启动fail2ban服务时,我收到以下消息:

 ERROR NOK: ('Unable to compile regular expression \'^(?:::f{4,6}:)?(?P<host>[\\w\\-.^_]*\\w) -.*"(GET|POST).*\\?.*(?<!outer|type\\=outer\\&url)\\=http\\:\\/\\/.* HTTP\\/.*$\'',) 

任何帮助,将不胜感激。

我的第二个正则expression式的解决scheme是:

 ^<HOST> -.*"(GET|POST).*\?.*(?<!outer)(?<!type\=outer\&url)\=http\:\/\/.* HTTP\/.*$ 

GET查询中的两个单词/参数都必须是分开的,并且只能包含在一个负面的后面。