第 1 方 cookie 和第 3 方 cookie 有什么区别,禁用它的优缺点是什么?
当 Facebook 和 google(以及其他广告公司)不在他们的网站时,他们会完全无法跟踪您吗?如果您在需要 facebook 或 gmail 登录的网站上怎么办?这些网站是否需要开启第 3 方 cookie?
第 1 方 cookie 和第 3 方 cookie 有什么区别,禁用它的优缺点是什么?
当 Facebook 和 google(以及其他广告公司)不在他们的网站时,他们会完全无法跟踪您吗?如果您在需要 facebook 或 gmail 登录的网站上怎么办?这些网站是否需要开启第 3 方 cookie?
禁用 3rd 方 cookie 在很大程度上是一种隐私措施。
Cookie 受到同源策略 (SOP) 的限制,该策略本质上要求域 A 上的站点不能为域 B 设置 cookie,并且您的浏览器在访问域 B 时不应发送域 A 的 cookie。这主要是出于安全原因:您不希望站点能够从其他域读取会话 cookie!
当然,广告商和分析公司已经找到了解决方法。他们没有为他们的域设置 cookie,而是在页面上包含一个来自 3rd 方域的小资源(通常称为“像素”跟踪器)。来自第 3 方域的 HTTP 响应可以自由地为其自己的域设置 cookie,因此它会为您的访问生成一个唯一 ID 并将其作为 cookie 发送。然后您访问另一个站点,该站点也使用相同的跟踪器像素。相同的第 3 方域可以读回该 cookie,因为它属于同一来源,因此可以跟踪您从一个站点到另一个站点。
阻止第三方 cookie 会阻止这种行为。它可以防止第 3 方资源设置 cookie,因为它是在不同域的上下文中获取的,即您正在查看的页面。该实现实质上修改了 cookie SOP 以将 cookie 来源限制为您正在查看的页面的域。
但请记住,这并非万无一失。一种常用的解决方法是生成唯一资源(例如,动态生成的 CSS 文件,其中具有唯一 ID)并使用缓存控制标头设置为它提供服务,以确保缓存。现代浏览器对缓存资源的内容进行哈希处理,并将该哈希作为 HEAD 请求的一部分发送到站点,以查看它们是否已更改并需要重新下载。然后,跟踪服务器获取该哈希值并根据其唯一 ID 数据库查找它,并确定您是哪一个。邪恶的,不是吗?