【问题标题】:CORS error even though `Access-Control-Allow-Origin: *` [duplicate]即使`Access-Control-Allow-Origin:*`也出现CORS错误[重复]
【发布时间】:2019-09-20 11:56:58
【问题描述】:

我正在编写一个网络应用程序,但我想我不知道 CORS 是如何工作的。

我可以完全控制发送方和接收方。

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

我不确定如果 top.php 和 project.php 都有这个头文件是否是多余的。但我将它添加到两者中只是为了确定。

Atlas,即使使用许可访问控制,我也会收到错误消息:

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.

【问题讨论】:

    标签: ajax google-chrome cors


    【解决方案1】:

    【讨论】:

      【解决方案2】:

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

      如果要启用跨域请求,请在http://site2.com/project.php 中尝试在文件project.php 的开头添加一行header('Access-Control-Allow-Origin: site2.com'),并且site2.com 应该能够成功访问,并且浏览器不会出现任何错误。

      【讨论】:

      • 正如我所说,'Access-Control-Allow-Origin: *' 已经被指定了。
      猜你喜欢
      • 2017-10-29
      • 2022-11-27
      • 1970-01-01
      • 2020-12-14
      • 2021-06-17
      • 1970-01-01
      • 1970-01-01
      • 2019-08-08
      相关资源
      最近更新 更多