【问题标题】:Why does CORS ask new domain and not original domain?为什么 CORS 要求新域而不是原始域?
【发布时间】:2017-01-16 19:50:48
【问题描述】:

我相信我终于了解了 CORS 及其动机。

简而言之,我了解源自 original.com 的脚本试图请求资源来自 other.com 因信息泄露而存在潜在风险(对所有各方:user、original.com 和 other.com);这就是 CORS 背后的动机。我的问题不是这个。

CORS 要求 other.com 选择加入/同意来自 original.com 的脚本的请求。

我花了一些时间去摸索,因为我必须违背某种直觉。我的直觉是它应该是 original.com(并且不是 other.com)必须选择加入/同意十字架-来源请求。

当时的思路是 original.com 是用户信任的域(毕竟,用户首先访问的是 original.com)。因此,浏览器(CORS 的执行者)应该信任用户信任的任何人。

例如

如果 original.com 表示信任 other.comads.com 和/或 tracker.com 然后继续并允许向他们提出请求。但是,如果随后 ads.com 返回一个脚本,该脚本向 shadows.com 请求某些内容(original.com 没有 > 信任)然后阻止它。

目前,CORS 将使浏览器询问 shadows.com 是否接受来自 original.com 的请求。我想象 shadows.com 是一个坐在皮革扶手椅上的恶棍,说“为什么是,绝对是”>:)。

【问题讨论】:

    标签: networking browser http-headers xmlhttprequest cross-domain


    【解决方案1】:

    简而言之,有点简化,这是因为数据是从其他域下载的。在您的示例中,other.com 持有数据,并且可以决定与谁(哪些来源)共享该数据。

    顺便说一句,你提到的那种信任也是存在的。当用户访问上面示例中的 original.com 时,他相信 original.com 只会让他从 original.com 的开发人员认为可以下载数据的域中下载内容。但是,当用户访问不同站点 (original.com) 的请求时,其他来源(other.com 等)是否愿意为请求提供服务,这是由其他域做出的决定。

    【讨论】:

      猜你喜欢
      • 2020-12-28
      • 1970-01-01
      • 2017-08-08
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多