我以为只是看看,我把“每日大赛官网”的链路追完了:你点一下,它能记住你的设备指纹

前言:本来只是好奇点开一个“每日大赛官网”的链接,结果随手一查就越陷越深。把浏览过程在浏览器里跟了一个来回,发现看似普通的页面背后有一整套“记住你”的机制:不仅能记录点击、还能把你的设备特征打包成一个几乎唯一的指纹,留在服务器上供后续匹配。
下面把我追链的过程、发现的细节、技术原理和可操作的防护建议整理成一篇可以直接发布的文章,方便大家看到后自行判断和防范。
1) 我是怎么查的(简要流程)
- 点击首页链接(最初只是打开页面浏览内容)。
- 浏览器开始一连串跳转:通过一个或多个短链/中转域,再到主站,然后加载第三方资源(脚本、像素、CDN)。
- 打开浏览器开发者工具(Network、Console、Application),逐条查看请求和存储内容。
- 发现有请求向一个“收集器”域发送了一次 POST(或GET带大量参数),Payload里包含大量设备/浏览器信息。
- 查看本地存储(cookie、localStorage、IndexedDB、service worker),发现存在持久化的ID或token,用于后续识别。
- 再次访问网站(或相似域)时,那个ID被拿出来与服务器交互,实现“你上次来过”的识别。
2) 我看到的关键痕迹(技术证据)
- Network 请求里有专门的“collector”、“track”或类似命名的端点,提交的数据字段包括:userAgent、language、screenResolution、timeZone、plugins、canvas hash 等。
- 页面加载了一个第三方脚本(例如常见的指纹库或自定义脚本),请求头里带着Referer、Cookie、localStorage key等。
- localStorage/IndexedDB 中存在一个长期保存的 UUID 或 base64 编码的数据块,看起来像是指纹ID。
- Canvas / WebGL 调用在 console 里被触发(可以看到相关错误/输出),说明页面在做画布测量或渲染用以生成指纹。
- 如果用隐私插件或无痕模式再次访问,生成的ID会有所变化;但在常用浏览器里,重复访问产生了相同或可关联的ID。
3) 设备指纹(Fingerprinting)到底是什么,怎么做到的 设备指纹是把浏览器和设备公开或可测的各种属性组合成一个识别码,常用信息包括:
- HTTP headers:User-Agent、Accept-Language 等。
- 屏幕分辨率、颜色深度、可用像素。
- 时区、系统语言、CPU 核心数(navigator.hardwareConcurrency)。
- 已安装字体(通过 canvas/font 渲染探测)、已安装插件(历史上通过插件列表)。
- Canvas 指纹:在一个隐蔽的画布上绘制文本或图形,再读取像素数据,形成哈希值;不同设备/驱动/字体会有细微差异。
- WebGL 指纹:读取 GPU /驱动渲染差异。
- Audio 指纹:音频上下文的渲染差异。
- 媒体设备列表、触摸能力、电池 API 等。 这些数据各自可能不能唯一识别某人,但组合起来往往可以把设备在大规模用户里区分开。
4) 点击一个链接为什么就能“记住”你
- 链接本身可能带了一个唯一参数(例如 ?cid=XYZ),点击后页面或中转服务器把这个参数和你生成的指纹绑定,写入服务器数据库。
- 页面脚本即时收集指纹数据并上报,服务端返回一个唯一 ID,同时写入 cookie/localStorage。以后无论怎样访问,脚本先读本地ID,再和服务器比对,确认是同一个设备。
- 有些实现还用“ETag/缓存标记”或多种存储(cookie + localStorage + IndexedDB)交叉存储,使得清除普通 cookie 也难以彻底去除追踪。
5) 隐私和风险(客观描述)
- 这类指纹识别可以跨域/跨子域、跨会话把访问关联起来,从而建立用户画像或行为链。
- 如果没有用户明确授权或透明告知,就会触及隐私问题;在某些司法辖区,还可能牵涉监管合规(例如数据保护法)。
- 指纹不会像登录账号那样直接显示姓名,但用于广告定向、频次控制、作弊检测(竞赛活动里)等都非常有效。合理用途可能是反作弊,但也可以用于被用户不知道的持续追踪。
6) 普通用户可以做的防护(可马上尝试的步骤)
- 在不信任的链接上不要直接用常用浏览器常用配置点击;优先在私人/临时浏览器环境或无痕窗口打开。
- 使用具备反指纹或严格隐私保护的浏览器:例如 Tor Browser(最大限度防指纹),Brave 或经过硬化的 Firefox 配置能有效降低指纹唯一性。
- 禁用或限制 JavaScript:NoScript/ScriptSafe 类扩展可以阻止未知脚本执行;很多指纹脚本依赖 JS 才能收集细节。
- 屏蔽第三方跟踪器:uBlock Origin + EasyPrivacy/ABP、Privacy Badger 等扩展能拦截常见收集端点。
- 定期清理 cookies、localStorage、IndexedDB,或使用 Cookie AutoDelete 来自动清理不需要的网站数据。
- 使用容器(Firefox Multi-Account Containers)或独立浏览器账号,把不同网站隔离开,减少跨站关联。
- 在移动设备上,可以用专门的隐私浏览器或频繁清理应用数据,避免被长期记录。
- 如果担心竞赛/抽奖等场景的作弊检测,考虑使用临时设备或虚拟机来隔离真实身份数据。
7) 面向站长/运营的建议(如果你是网站方)
- 若目的确实是反作弊或增强安全,建议透明地在隐私政策中说明会使用哪些数据、如何存储和保留、用户如何选择退出。
- 优先考虑非持久化或最小化数据:只在必要时收集、尽量用短期 cookie、提供删除/撤回渠道。
- 合规评估:根据目标用户群体的所在地,检查是否需要征得同意或做数据保护影响评估。
- 以用户体验为重:过度隐形追踪可能损害品牌信任,一些用户技术社区会曝光这类操作,引发信任危机。
8) 我向你展示的不是结论,而是示范怎么查 我在本文里把追链过程、观察到的网络请求、存储证据和常见指纹技术做了说明,目的在于让更多人能检查自己遇到的类似页面。你可以按上述“防护”步骤在自己的环境里复现一遍:打开开发者工具、看 Network 流、找 collector 请求、检查 localStorage/IndexedDB,就能抓到线索。
结语:当“只是看看”变成被记住,问题并不在于单次点击,而在于背后那套把点击和设备绑定、长期保留的机制。把眼睛睁开,学会几招简单的检测和防护,就能在日常浏览中多一层自保。欢迎在评论里分享你遇到的类似页面或我遗漏的检测方法——大家互相交流,保护自己的上网痕迹。


