[英]How to disable mod_security and mod_security2 in .htaccess
我創建了一個Wordpress插件,該插件變得很流行,但是我收到很多抱怨,稱它不起作用。 登錄許多用戶的WP網站后(詢問管理員密碼后),我注意到我無法輕易解決的最后一個問題是mod_security和mod_security2阻止了一些AJAX請求或.htaccess,這在某些配置上導致500錯誤。
那么首先為什么這段代碼會導致某些服務器返回500錯誤
<IfModule mod_security2.c>
SecRuleRemoveById 300015
SecRuleRemoveById 300016
SecRuleRemoveById 300017
SecRuleRemoveById 950907
SecRuleRemoveById 950005
SecRuleRemoveById 950006
SecRuleRemoveById 960008
SecRuleRemoveById 960011
SecRuleRemoveById 960904
SecRuleRemoveById phpids-17
SecRuleRemoveById phpids-20
SecRuleRemoveById phpids-21
SecRuleRemoveById phpids-30
SecRuleRemoveById phpids-61
在其他服務器上以這種方式通過id刪除規則會導致500錯誤:
<IfModule mod_security.c>
SecRuleRemoveById 300015
...
SecRuleRemoveById phpids-61
</IfModule>
因此,目前唯一不會導致任何服務器崩潰的工作是
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
但是對於具有mod_security2的服務器來說還不夠!
如何編寫跨服務器的.htaccess文件,以及應添加哪些IF條件以在任何適用的位置禁用mod_security和mod_security2,並且在其他配置下不會引起500錯誤?
編輯:不僅在Apache中。 使用.htaccess的任何地方。
ModSecurity社區經理Ryan C. Barnett聲稱:
在2.x中不再支持.htaccess文件,因為它引發了太多的安全問題。
來源: http : //article.gmane.org/gmane.comp.apache.mod-security.user/3065
以下是啟用htaccess的唯一可能的配置(自2.7.3開始),但您需要./configure --enable-htaccess-config
:
安全規則
SecRuleRemoveByMsg
SecRuleRemoveById
SecRuleUpdateActionById
https://github.com/SpiderLabs/ModSecurity/blob/876d4f5f9558595c00f40af25ea6216386f15cd7/CHANGES#L69
顯示消息告訴聯系服務器管理員將是最后要做的事情。 首先,我將嘗試使用以下解決方案之一來自動創建配置:
在子文件夾中創建2-3個沙盒.htaccess配置
要么
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.