带有脚本标记的跨域 Cookie



我正在研究jsonP,将数据从cookie从域A发送到域B。效果很好,但我的问题不在这里。我只是意识到,如果我只在我的域 B 上放置一个指向我的域 A 的 script 标签,那么我的域 A 的所有 cookie 都设置在我的域 B 上。

示例:我把这个标签放在我的域名 B 上:

<script src="http://mydomainA.com/"></script>

只有这样,我的域 A 的所有 cookie 都设置在我的域 B 上。我的问题是,这正常吗?我认为cookie需要一些黑客才能跨域,但我认为这并不容易。

对不起,我的英语不好,如果我的问题很愚蠢或以前问过,我深表歉意。

提前谢谢。

Cookie 只是 HTTP 请求中的标头。当浏览器请求时

GET /foo
Host: a.com

它接收一个 HTML 文档,其中包含托管在另一个域上的<script>标记。所以它会触发另一个请求:

GET /script.js
Host: b.com
Cookie: foobarbaz

它当然可以为域b.com附加cookie,如果有的话。这意味着浏览器最后一次联系b.com时,HTTP响应包含一个标头,例如

...
Set-Cookie: foobarbaz
...

因此,对同一域的后续请求将维护会话。当浏览器请求其他资源a.com例如

GET /bar.jpeg
Host: a.com

b.com设置的 cookie foobarbaz不会随请求一起发送,因此 a.com 上的脚本无法访问来自 b.com 的数据。

相关内容

  • 没有找到相关文章

最新更新