【发布时间】:2021-07-27 02:25:40
【问题描述】:
假设我将浏览器配置为阻止所有 cookie 并禁用本地存储。一个聪明的网站能否以某种方式仍然将我的所有活动与持久的唯一标识符相关联,例如会话 ID?
【问题讨论】:
-
元注释:我写这个问答式的条目是因为 Stack Overflow 博客 actively enourages it。请帮助我在需要时改进我的问题/答案。
假设我将浏览器配置为阻止所有 cookie 并禁用本地存储。一个聪明的网站能否以某种方式仍然将我的所有活动与持久的唯一标识符相关联,例如会话 ID?
【问题讨论】:
是的,肯定存在无 cookie 跟踪。
浏览器指纹识别是一种众所周知的技术。网页可以收集诸如您的浏览器的用户代理字符串、您的时区、您的屏幕分辨率、已安装字体列表或WebGL image render 等信息,以创建一个您无法查看或控制的稳定唯一标识符。您可以测试您的浏览器是否存在漏洞here 或here。您可能想尝试在常规浏览窗口和隐身窗口中加载它们,以查看指纹是否保持稳定。尤其是 Firefox 和 Safari 等浏览器试图减轻各种跟踪。
假设您也禁用了 JavaScript 和 WebGL,网站可以通过滥用 HTTP 的功能在您的浏览器缓存中隐藏一个唯一标识符。我知道这三种技术。由于它们在文字中有点难以解释,我制作了 a few animations 来解释它们(开始于 02:42 左右)。这些技术是:
ETag 响应标头。这是您的唯一 ID。下次网页向跟踪 URL 发出 Ajax 请求时,您的浏览器会将 ID 包含在 If-None-Match 请求标头中,从而允许跟踪 URL 在 ETag 响应标头中再次反映它。Last-Modified 时间戳,浏览器稍后将在 If-Modified-Since 请求标头中反映该时间戳。?id=12349876。你的浏览器会缓存重定向,下次直接跳转到?id=12349876。存在一些针对基于缓存的跟踪技术的缓解措施。 Privacy Possum 浏览器扩展可防止基于 ETag 的跟踪。
【讨论】: