当试图用一些可能类似于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