人気のあるWordpressプラグインを作成しましたが、機能しないという苦情がたくさんあります. 多くのユーザーのWP Webサイトにログインした後(管理者パスワードを要求した後)、簡単に解決できない最後の問題は、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 ファイルを作成する方法と、mod_security と mod_security2 が適用される場所で無効にし、他の構成で 500 エラーが発生しないようにするには、どの IF 条件を追加する必要がありますか?
編集:Apacheだけではありません。.htaccess が使用されている場所。