【问题标题】:Does chrome store cookies from images?chrome 是否存储图像中的 cookie?
【发布时间】:2021-09-18 04:12:59
【问题描述】:
假设我有一个网站 (https://example.com),如果我在该网站上有来自我的第二个网站 (https://example2.com) 的图片,Chrome 是否会存储从该图片获取的 cookie?
就像图片上一样,如果我设置 Set-Cookie 标头来存储一个 cookie,说明图片已获取,chrome 会将 cookie 保存在浏览器中,如果我要访问 https://example2.com,我将能够看到我的浏览器之前从我的服务器获取了一张图片。
【问题讨论】:
标签:
javascript
html
image
google-chrome
cookies
【解决方案1】:
是的,这些是third-party cookies,正如您所描述的那样工作。浏览器会将它们保存在发送它们的特定资源的域下,并在将来向该域请求时重新发送它们,无论它们是顶级页面请求还是子资源请求(例如,图像)。
服务器必须通过SameSite=None cookie 属性授权将cookie 作为第三方cookie 发送。这也需要使用Secure 属性,这意味着实际上第三方cookie 只能通过HTTPS 发送。
第三方 cookie 目前在现代浏览器中有效(截至 2021 年 7 月),但在 Chrome 的隐身模式下默认被阻止:
第三方 cookie 是跨站点跟踪工作方式的主要部分:当任何站点将广告或跟踪图像作为跨站点 <img> 嵌入时,提供嵌入图像的外部站点可能会发送和读取 cookie他们的域名,让他们知道他们在为谁投放广告。 (我们之前在任何其他合作伙伴网站上见过此用户吗?我们是否有与我们了解此用户浏览习惯相关的广告?)
但是,Google 正试图停止在广告中使用第三方 cookie,因此它们的未来有些不确定。
我在Arqade profile 上简单地使用了第三方cookie,它嵌入了来自repl.co 的远程图像。图像使用唯一的 cookie(然后使用相同的唯一 cookie 请求)来持续控制游戏中的相同角色。除了嵌入图像之外,建立此 cookie 关系不需要与repl.co 进行其他通信。