这不是你手快,是它故意的,我把打着“万里长征小说”旗号的链接的链路追完了:你点一下,它能记住你的设备指纹

前几天在朋友圈里看到一条“万里长征小说”链接,标题诱人、配图温情,我点了——接着开始了一段“链路追踪”的小实验。看起来只是一次普通的点击,但背后是一套精心设计的流程:链接把请求一路转发、注入参数、加载第三方脚本,最终把你的设备特征收集起来,拼成一个可识别的“指纹”。下面把我追查到的过程、用到的技术、你能怎么识别和防护,一并写清楚。
一、从一点点击到多重跳转:链路长什么样
- 链接本身通常不是最终落地页。常见形式:短链接(t.cn、bit.ly)、中间域名、再跳到另一域名,最后重定向到内容或广告页面。
- 每一跳都可能在URL里追加参数(如utm_、aff、id等),有些参数专门用来传递来源、设备信息或唯一标识。
- 页面加载后会请求第三方域名(广告平台、分析服务、CDN、字体库等),这些第三方服务器可以合并来自不同站点的数据,逐步完善用户画像。
- 链路里常见的技术点:301/302重定向、meta-refresh、JS动态跳转、iframe嵌套、postMessage通信等。
二、他们怎么“记住”你的设备指纹 设备指纹不是一个单一值,而是把浏览器和设备暴露的多个特征组合起来形成的高维标签。常见的采集项包括:
- User-Agent、Accept、语言、时区、屏幕分辨率、颜色深度
- 已安装字体、可用字体宽度(通过canvas或字体探测)、系统字体列表
- Canvas、WebGL指纹:让浏览器绘制一个不可见的图形,读取像素差异来区分硬件和驱动差异
- AudioContext指纹:通过音频处理差异获得特征值
- 浏览器插件和MimeTypes(尽管现在浏览器限制了这类信息)
- 可用媒体设备(摄像头、麦克风)信息、GPIO等权限相关提示(更少见)
- localStorage、IndexedDB、cookies、ETag等持久化存储标识
- IP地址和WebRTC暴露的本地IP(在某些浏览器或未禁用WebRTC时)
- 时延、行为模式(鼠标轨迹、输入节奏)等更高级的识别手段
把这些数据点拼在一起,就能形成较为稳定的“指纹”。即便单项会改变(像清除cookie或更换浏览器),指纹仍能在多维度上匹配,从而达到追踪目的。
三、我实际看到的证据(实操片段) 我对那条“万里长征小说”链接做了抓包和DevTools分析,截取到几个关键现象:
- 点击后有三次重定向,最终落脚点是一个内容聚合页,但中间穿插了两个广告跟踪域名,域名看似随机,但都指向同一个跟踪平台的不同子域。
- 页面加载时有数十个第三方脚本请求,其中包含一个知名的指纹识别库(例如 FingerprintJS 及其变体)和多个广告/分析脚本。
- 一个脚本会在页面上创建一个隐藏的canvas并读取像素数据,另一个会运行AudioContext并收集输出差异。
- localStorage被写入一个长字符串ID,即使关闭页面再访问短时间内ID未变化。
- 请求头里除了常规字段外,还有通过JS探测后拼接的自定义参数,携带了屏幕、插件、字体指纹等摘要。
这些行为合在一起,足以把一次短暂点击变成可以长期识别的“线索”。
四、普通用户怎么判断自己是否被“指纹化”了
- 浏览器网络面板(F12 → Network):观察页面加载时是否有大量第三方域名请求,特别是陌生域名或广告/分析域名。
- 查看页面源代码或加载的脚本文件(在DevTools中打开Sources),搜索关键字:fingerprint、canvas、audio、getContext、WebGL。
- 使用隐私检查工具(Privacy Badger、uBlock Origin、Lightbeam之类)查看阻止的Tracker数量和来源。
- 通过隐身窗口、不同设备或不同网络反复访问同一链接,观察是否还能被“认出”(比如页面显示同样的推荐或被重定向到同一广告链)。
五、可行的防护方法(从易到严)
- 关闭第三方cookie并限制站点追踪权限:大多数浏览器都提供这类设置,可减少部分传统追踪手段。
- 安装脚本/广告拦截器:uBlock Origin、uMatrix(高级用户)、NoScript 等能拦截第三方脚本加载,从源头切断指纹采集JS。
- 使用抗指纹浏览器或模式:Tor Browser、Brave 的防指纹设置可以显著降低指纹唯一性,Tor还会统一很多浏览器特征来降低区分度。
- 禁用或限制JavaScript(阅读内容型链接可短时禁用):多数指纹采集依赖JS,禁用可直接阻断,但会影响页面功能。
- 使用VPN或切换网络:可以隐藏真实IP,但IP本身只是指纹的一部分,需要与其他措施配合。
- 清理本地存储(localStorage、IndexedDB、cookies),并定期检查持久化数据。
- 对可疑链接先在安全环境中打开:比如使用虚拟机、隔离浏览器、或通过curl跟踪重定向而不执行JS(curl -I -L 可查看跳转链)。
六、站在发布者和平台的角度 如果你负责内容传播或管理网站,需要注意:
- 不要轻易嵌入来路不明的第三方脚本或iframe,审计外部依赖是第一道防线。
- 对合作伙伴、广告方的脚本合约化管理,明确禁止超范围采集个人设备指纹。
- 提供清晰的隐私说明和数据删除机制,接受用户投诉并能追踪问题链路。
七、结论与建议 那条看似温情的“万里长征小说”链接并非简单的内容分享,而是通过重定向链和第三方脚本完成了设备特征的采集与持久化。对于普通用户,增强警惕、减少不必要的脚本执行、使用拦截器和隐私浏览器,能显著降低被“记住”的几率。对于内容发布方,审计外部脚本与合作渠道,才能防止自己的流量被用于他人搭建的追踪网络。



