我试图制定一个规则,将匹配POST请求中的某些正则expression式。
我到目前为止的规则看起来像;
SecRule REQUEST_FILENAME "form.php" \ "id:'12345',chain,deny,status:406,log,msg:'foobar detected'" SecRule REQUEST_METHOD "POST" chain SecRule REQUEST_BODY "@rx (?i:(bad|words|to|be|blocked))"
规则在内容types不是 'text / xml'时起作用
我正在用curltesting
curl -vs http://domain.tld/form.php -d 'blocked'
但是,当我设置“内容types:文本/ XML”; 规则不匹配; testing
curl -vs http://domain.tld/form.php -H "Content-Type:text/xml" -d 'blocked'
如果在标题中find内容types“text / xml”,还有其他的规则将REQBODY_PROCESSOR设置为XML。 我有兴趣看看如何将策略更改与不同的REQBODY_PROCESSOR匹配,因为显然当REQBODY_PROCESSOR不是XML(当Content-Type被忽略;规则匹配时)。 我尝试强制其他REQBODY_PROCESSOR选项来获得规则链工作,但没有成功。