SQL クエリに似たテキストを含むファイルを保存しようとすると、500 内部サーバー エラーが発生します。したがって、ModSecurity はそれをブロックしています。
[client xxx.xxx.xxx.xxx] ModSecurity: Access denied with code 500 (phase 2). Pattern match "(insert[[:space:]]+into.+values|select.*from.+[a-z|A-Z|0-9]|select.+from|bulk[[:space:]]+insert|union.+select|convert.+\\\\(.*from)" at ARGS:description. [file "/usr/local/apache/conf/modsec2.user.conf"] [line "359"] [id "300016"] [rev "2"] [msg "Generic SQL injection protection"] [severity "CRITICAL"] [hostname "xxxxxxxxxxxxx.net"] [uri "/app/3/admin/modules/product/product_a.php"] [unique_id "TzvCxkPj2kkAAH4WkMwAAAAE"]
そこで、フォルダー /app/3/admin/modules/product/ に .htaccess ファイルを作成します。
<IfModule mod_security.c>
SecFilterRemove 300015
SecFilterRemove 300016
</IfModule>
しかし、これでも問題は解決していません。Apache のログ ファイルにログ エントリを含む 500 コードが引き続き表示されます。
これが機能しない理由は何ですか?