Javascript 服务器阻止POST但不阻止GET请求?
在我的应用程序中,我使用$http post请求,因为在服务器端,所有PHP服务只接受post请求。PHP web服务位于godaddy中 在一些连续的$http post请求之后(通常在10-20个请求之后),我开始从服务器获得ERR_EMPTY_响应。我做了一些研究,发现这是因为服务器存在安全问题以防止攻击。Apache服务器的mod_sec设置导致此问题,但我没有权限覆盖它 我决定测试一下,这个问题是否是由POST请求引起的。所以我编写了一个简单的PHP文件和AngularJS测试脚本。如果我使用GET请求,我不会得到任何ERR\u EMPTY\u响应错误。客户端AngularJS上是否有任何$http POST设置,或者我可以将任何Apache服务器设置放入.htaccess文件中,以便服务器不会阻止POST请求 PHP脚本:Javascript 服务器阻止POST但不阻止GET请求?,javascript,php,angularjs,post,get,Javascript,Php,Angularjs,Post,Get,在我的应用程序中,我使用$http post请求,因为在服务器端,所有PHP服务只接受post请求。PHP web服务位于godaddy中 在一些连续的$http post请求之后(通常在10-20个请求之后),我开始从服务器获得ERR_EMPTY_响应。我做了一些研究,发现这是因为服务器存在安全问题以防止攻击。Apache服务器的mod_sec设置导致此问题,但我没有权限覆盖它 我决定测试一下,这个问题是否是由POST请求引起的。所以我编写了一个简单的PHP文件和AngularJS测试脚本。如
<?php
echo json_encode(array("item"=>"dummy test service."));
?>
这是因为跨域请求策略。如果您想限制来自不在同一域中的其他页面的脚本,这将有助于您做到这一点。但在API的情况下会发生什么,它们如何授予接受其他页面请求的权限?。 所以要做到这一点,他们使用访问控制选项,在您的特定情况下,访问控制允许方法必须设置为just GET method。所以它基本上只接受GET请求
但是,如果您想专门使用POST请求,请使用CURL(使用PHP或其他服务器端语言),它可以传递同源策略,并可以通过POST请求发送和接收数据 这是因为跨域请求策略。如果您想限制来自不在同一域中的其他页面的脚本,这将有助于您做到这一点。但在API的情况下会发生什么,它们如何授予接受其他页面请求的权限?。 所以要做到这一点,他们使用访问控制选项,在您的特定情况下,访问控制允许方法必须设置为just GET method。所以它基本上只接受GET请求
但是,如果您想专门使用POST请求,请使用CURL(使用PHP或其他服务器端语言),它可以传递同源策略,并可以通过POST请求发送和接收数据 如果安全apache模块处于活动状态,则您无法对其执行任何操作。您只能要求主机提供程序将限制设置得更高。@CharlotteDunois甚至没有.htaccess文件?是的,我尝试了mod_sec.htaccess设置。但在我的情况下,由于权限的原因,它不起作用。如果安全apache模块处于活动状态,则您无法对其执行任何操作。您只能要求主机提供程序将限制设置得更高。@CharlotteDunois甚至没有.htaccess文件?是的,我尝试了mod_sec.htaccess设置。但在我的情况下,由于权限问题,它不起作用。
var success_count = 0;
var method = 'GET'; //try 'POST' and you will get ERR_EMPTY_RESPONSE
stop = $interval(function() {
$http({
method : method,
url : 'test.php'
}).then(function successCallback(response) {
console.log(success_count);
success_count++;
}, function errorCallback(response) {
console.log("error after "+success_count+" successful request.");
success_count = 0;
});
}, 200);