首页 > 解决方案 > 如果 JavaScript 从站点 A 提供,向站点 B 发出 POST,这会导致 CORS 冲突吗?

问题描述

我正在努力确定我了解 SOP/CORS 政策。我感兴趣的特定场景是:

HMTL 页面和 JavaScript 由域 company-one.com 提供。但是,JavaScript 代码将向域 company-two.com 发出 POST。

第一个假设:我认为 POST 由于原产地政策而失败。这个对吗?

第二个假设:如果我在 company-two.com 服务器上设置访问控制标头(Acccess-Control-Allow-Origin:company-one.com),则 POST 将起作用。这个对吗?

标签: javascript

解决方案


  1. POST 将失败,但请记住 JavaScript fetch/AJAX 不是发出 POST 请求的唯一方法。即使没有Access-Control-Allow-Origin,company-one.com 仍然可以创建(并自动提交)一个表单,该表单会导致对 company-two.com 的 POST 请求,可能带有用户的 cookie。

  2. 是的。还可以考虑添加Access-Control-Allow-Methods: POST, OPTIONS


推荐阅读