如果我有一个网站(例如foo.com)并且在foo.com的主页上有一个图像请求,其中src = bar.com ...,bar.com域上的cookie将被发送到bar.com服务器?
谢谢!
Sim*_*ane 15
这个问题很老了,但对我来说是谷歌上的第一个结果,所以我认为有必要澄清它现在(2021)是如何工作的。
当 bar.com 设置 cookie 时,他们可以指定一个SameSite属性。
如果使用SameSite=Lax设置 cookie (或未指定 SameSite 属性),则不会为bar.com 上托管的图像/iframes/etc 的请求发送 cookie,但如果用户单击链接,则会发送 cookie在您的 foo.com 主页上,将他们带到 bar.com
如果使用SameSite=Strict设置 cookie ,则该 cookie将不会包含在源自其他网站的对 bar.com 的请求中,包括用户单击 foo.com 上的 bar.com 链接的情况。
如果 cookie 设置为SameSite=None,则 cookie将被发送到 bar.com,包括图像请求。
Jac*_*son 13
cookie通常包含在任何类型的请求中,但您描述的场景是所谓的第三方cookie(即,cookie是在与加载页面的域不同的域上设置的),并且大多数浏览器提供隐私设置来阻止第三方cookie.
第三方cookie允许bar.com的所有者在foo.com上放置图像(例如横幅广告)并跟踪foo.com的用户,即使这些用户从未访问过bar.com.这是一个隐私问题,许多用户选择阻止此类cookie.
小智 5
如果第三方 cookie 未被用户阻止,则大多数现代浏览器将在向第三方网站发出请求时设置或发送第三方域的 cookie。IE 6 有一种不同的阻塞机制,称为 leashing。wiki: leashed cookie 是第三方 cookie,只有在通过同一第一方访问第三方文档时,浏览器才会发送。