编辑:我的最后一步是删除空格和其他一些修改。仍然没有结果
我为modsecurity-crs规则创建了一个whitelist.conf。
我把那个简单的代码
<LocationMatch "/">
</LocationMatch>
结果是
httpd:/usr/local/apache/conf/httpd.conf第420行的语法错误:/usr/local/apache/conf.d/mod_security.conf第14行的语法错误:第1行语法错误/usr/local/apache/modsecurity-crs/activated_rules/whitelist.conf:/usr/local/apache/modsecurity-crs/activated_rules/whitelist.conf:1:未关闭。 [FAILED]
怎么会出现语法错误? 我真的很喜欢那个。
注意:如果我把一个空的失败,不要fai和obviosly什么也不做。
如果失败的放置</LocationMatch>
未检测到<LocationMatch>
开启标记。
似乎完全不承认</LocationMatch>
。
这里的示例https://wordpress.org/support/topic/disable-mod-security
更新: 我真的认为捆绑(在一些主机包中我不会提及)CSR确实包含了一些错误,因为我使用它而根本没有修改它,所以,从一开始就出现了问题。在阅读之后没有任何内容使它成功,所以我只是放弃了主机软件提供的功能。我不会期望最新的CSR的奇怪行为,而不是自定义调整。感谢。
答案 0 :(得分:3)
首先,您必须找到阻止您的脚本的规则。
您可以在文件&#34; modsec_audit.log&#34;上找到错误和规则ID。
记录触发ModSecurity事件(检测到的)或serer错误的所有请求(&#34; RelevantOnly&#34;)都会记录到此文件中。
此文件必须位于/usr/local/apache/logs/modsec_audit.log或/var/log/httpd/modsec_audit.log
打开文件:/usr/local/apache/modsecurity-crs/activated_rules/whitelist.conf
因此,您可以使用以下代码禁用该文件或文件的规则:
<LocationMatch "/patchtofile">
SecRuleRemoveById 000000
</LocationMatch>
你必须替换patchtofile&gt;文件你在modsec_audit.log上有错误,你需要用你在日志文件上找到的规则ID替换000000。你必须为每个文件和你找到的错误。
您还可以禁用所需的整个目录的规则:
<LocationMatch "/patchtodir">
SecRuleRemoveById 000000
</LocationMatch>
将patchtodir替换为目录补丁并替换规则Id