从外部域访问加载js脚本可以使用哪些cookie?

时间:2013-12-25 20:09:59

标签: javascript html cookies

假设一个Web应用程序(通过http提供)有一个标签,其中src是另一个域。外部脚本正在使用cookie和/或localStorage。它可以访问哪些域名的cookie?

<!-- on example.org --> <script src='http://anotherexample.org/script.js'> <!-- This script messes with cookies -->

我的直觉告诉我它操作的cookie是属于example.org的。但这是如何运作的?

1 个答案:

答案 0 :(得分:4)

你的直觉非常正确。 Cookie是在浏览器开始实施相同的原始策略限制之前创建的,因此这些策略是not generally protected。因此,当anotherexample.org提供的脚本访问document.cookie时,它会在原始HTTP响应中看到example.org传递的Cookie。

唯一重要的例外是"HttpOnly" cookies。如果example.org选择,它可以指定它作为“HttpOnly”提供的cookie;任何JavaScript代码都无法访问这些Cookie,无论是anotherexample.org还是example.org本身。