當試圖用一些可能類似於sql查詢的文本保存文件時,出現500內部服務器錯誤。所以ModSecurity的阻止它:通過.htaccess刪除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"]
所以我的文件夾/應用/ 3 /管理/模塊/產品創建一個.htaccess文件/
<IfModule mod_security.c>
SecFilterRemove 300015
SecFilterRemove 300016
</IfModule>
但這也不解決問題。我仍然在apache的日誌文件中獲得一個包含日誌條目的500條代碼。
任何想法,爲什麼這可能不工作?
第一件事,爲什麼你有必要「避免」的呢?這真的是在惹麻煩。 – Oldskool 2012-02-15 14:46:14
該文件處理POST請求以將數據添加到數據庫。 POST請求可能包含SQL語句,有沒有其他方法可以避免這種情況? – Straseus 2012-02-15 14:49:37
phpMyAdmin必須有相同的問題。瞭解他們如何繞過它會很有趣 - 編輯:啊,他們沒有。請參閱編輯我的回答 – 2012-02-15 15:04:18