即使`Access-Control-Allow-Origin:*`,也会发生CORS错误

时间:2019-05-02 00:44:13

标签: ajax google-chrome cors

我正在编写一个Web应用程序,我想我不知道CORS的工作原理。

我对发送和接收方拥有完全控制权。

我正在使用Chrome,浏览器报告当前页面(http://site1.com/top.php)的响应标头为Access-Control-Allow-Origin: *。然后,(对http://site2.com/project.php的AJAX调用表明project.php正在响应标头Access-Control-Allow-Origin: *

我不确定top.php和project.php是否都具有此标头。但是我只是为了确保将其添加到两者中。

地图集,即使使用了允许的访问控制,我也会收到错误消息:

Access to XMLHttpRequest at '[http://site2.com/project.php]' from origin '[http://site1/top.php]' has been blocked by CORS policy: Request header field x-requested-with is not allowed by Access-Control-Allow-Headers in preflight response.

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:-1)

由于注入攻击,大多数浏览器都阻止了跨源请求。仅当服务器允许客户端的来源访问时,才允许跨来源请求。

如果要启用跨源请求,请在http://site2.com/project.php的{​​{1}}开头添加一行header('Access-Control-Allow-Origin: site2.com'),并且site2.com应该能够成功访问而无需任何操作浏览器错误。