当从IE发送AJAX请求时,'ModSecurity:读取请求主体时出错'

时间:2012-10-28 17:49:47

标签: php ajax apache internet-explorer

我正在使用jquery发送ajax请求,如下所示:

        $.ajax({
            url: "lastMessageIndex.php",
            type: "POST",
            data: {room: $("#room").val()}
        }).done(function(data){
            lastMessageIndex = data;
        });

我已经在我的开发环境中对此进行了测试并且它可以工作,我从服务器获得了预期的响应,并且脚本继续运行并且webapp一般都可以工作。但是当我将它上传到我的远程服务器时,它没有,并且在apache2 error.log文件中我看到了错误:

[Sun Oct 28 10:42:46 2012] [error] [client 44.46.23.50] ModSecurity: Error reading request body: Connection reset by peer [hostname "www.mysite.com"] [uri "/ie/IEGetMessages.php"] [unique_id "UI1ujNBx6w4AACW5MkkAAAAF"]

这可能不是问题的实际原因。我不介意在日志上有错误,如果我将从我想到的ajax得到响应。它应该是一个数字,例如'4'和我得到的是一个长字符串:“warning:mysql_fetch_array():提供的参数不是第11行/home/tom/mysite.com/lastMessageIndex.php中有效的MySQL结果资源”


好的,在我编辑时,我解决了我的问题。实际上它是愚蠢的,在我的开发环境中,mySQL数据库名称在prod上有一个大写字母。 env它是小写的。

抱歉不必要的混乱。

1 个答案:

答案 0 :(得分:0)

解决方案很简单。您没有在开发服务器上看到该错误,因为您尚未安装Mod_Security。安装它,接管与remove-system相同的配置,你也应该在开发系统上看到错误。