- 社区 /g, ''); bottomScriptHtml = bottomScriptHtml.replace(/<\/script/g, ''); bottomScriptHtml = bottomScriptHtml.replace(/
当我们访问 Homeland,竟然发现
图 1 Homeland 发现跟踪器
那么,这意味着什么?
跟踪器(Tracker)大致分为 3 类:1)我们所熟知的 Cookie;2)通过各种奇技淫巧达到让用户难以清除甚至无法清除的 SuperCookie;3)浏览器 FingerPrint;有害跟踪器通常在网页的第三方脚本中被使用,他们收集用户的位置、语言、设备、软件、扩展、时区、系统等各类杂七杂八的信息,这些信息给每个用户以区分,当用户在未来浏览站点,甚至,由于使用的是第三方,因此跨站点时,同样能够精准地识别该用户。最明显的莫过于你曾经浏览过的淘宝,只要你浏览过一次的猫粮,推荐就会出现一堆逗猫棒、猫抓板、猫窝……
为了能够更具象化地描述跟踪器的危害,以指纹为例:每当跟踪器收集了你的 Canvas hash、Webgl hash、AudioContext 等信息,你就会被分配一个指纹,这些指纹没有一个统一的标准,各个站点有不同的算法,但你已经被精准定位了。以 hm.baidu.com 来说明,他能够获取你的网页浏览顺序、语言、是否反追踪等为你分配一个指纹,并且生成一个 Cookie,尽管 Cookie 方式已经落后了,它很容易被用户随意清除,即便如此,在你下次访问嵌入该追踪器的网站时,你仍然被分配一个唯一指纹,重新生成你所对应的 Cookie,以便对你进行个性化的推送。因此你只是广告商甚至信息贩卖黑链背后的一颗棋子而已。
图 2 某指纹测试网站得出的指纹
图 3 Google Analytic 将追踪到的访问者信息发回 Google 服务器
#使用Analytic.js追踪数据的部分代码
utmwv=4.6.5 Google Analytics追踪代码的版本。
&utmn=213-1698-805 utm.gif的唯一ID编号,防止GIF图像缓存。
&utmhn=你的域名 用户访问的主机名。
&utmcs=UTF-8 用户浏览器语言编码。
&utmsr=1152×864 用户屏幕分辨率。
&utmsc=32-bit 用户的屏幕颜色。
&utmul=en-us 用户浏览器语言设置。
&utmje=0 用户浏览器是否支持JAVA。
&utmfl=10.0%20r42 Flash的版本。
&utmdt=%E8%93%9D%E9%B2%B8%E7%9A%84Web%20Analytics%E7%AC%94%E8%AE%B0 当前网页的标题,在这里是经过编码的字符串。
&utmhid=1987-124-655
&utmr=0 推介链接的URL。
&utmp=%2F 当前页面产生的请求。
&utmac=UA-12347890-1 用户Google Analytics
以上都是Cookie里存储的数据,__utma用来分析唯一用户,访问次数,停留时间,新访或回访等等。__utmz用来记录流量来源。__utmv存储细分用户所定义的值。
如果开通了电子商务追踪功能或是自定义了事件追踪。那么还会包含以下内容:
&utme 事件追踪数据
&utmipc 用户购买的产品编号
&utmipn 用户购买的产品名称
&utmipr 用户购买的产品单价
&utmtsp 运费
&utmttx 税款
Homeland 一共被捕捉 11 个跟踪器,其中不乏淘宝、阿里妈妈等老流氓,只要你上网,Http 请求头、屏幕分辨率和位深诸如此类的信息对这些跟踪器来说可谓唾手可得,你的信息被生成 FingerPrint,无论你去到哪里,只要植入淘宝、alimama 等的跟踪器,你的个人行为、个性、切身隐私无所遁形。我们选其一进行讲解,就 Google-Analytics 吧。
Google 开发者指南明确地表示,该跟踪器能够获取你的:
The total time a user spends on your site.
The time a user spends on each page and in what order those pages were visited.
What internal links were clicked (based on the URL of the next pageview).
In addition: The IP address, user agent string, and initial page inspection that analytics.js performs when creating a new tracker object is used to determine things like:
The geographic location of the user.
What browser and operating system are being used.
Screen size and whether Flash or Java is installed.
The referring site.
恭喜你,你的信息已经被 Homeland 窃取; 那么,让我们看看唉滴到底能在背后做什么?你的访问时间、看贴顺序、地址、设备、屏幕尺寸操作系统什么琐碎的信息都逃不过追踪器,你被斯皮克斯金刚鹦鹉论坛的幕后操纵者拿捏得死死的,你今天看过什么贴,明天对什么话题感兴趣,一览无余。这些信息也许对论坛运营来说并不值钱,但对于别有用心的人来说你是没有隐私的。你又是否曾诧异,为什么某楼盘销售天天打电话给我?为什么短信里秦始皇天天问我打款?
对此,你必须屏蔽掉已知的有害跟踪器。然而,还不够!有些跟踪器直接被植入 js 中,你不可能屏蔽掉所有的 js,在 21 世纪的今天这样你的网页显示会很不正常。因此,你需要对你的 FingerPrint 进行伪装。普通的浏览器,诸如 Edge、Firefox、Chrome、Opera 等安全性不高的浏览器对此束手无策,你能做的就是每次访问 Homeland 都切换一个全新的浏览器,较为保险一点的指纹保护浏览器诸如 Brave、LibraWolf 能够通过生成一些随机码扰乱正常的 FingerPrint,但这是远远不够的,例如 fingerprintjs.github.io/fingerprintjs/绕过了 Canvas 和 AudioContext 检测同样能够利用其他参数追踪到你。更高阶的,如果你不想被 Homeland 追踪,你必须使用一个指纹浏览器,从浏览器底层修改 FingerPrint,以达到真正防追踪的目的。
图 4 你的浏览器是否能够屏蔽 FingerPrint 的部分参数追踪
除此之外,我想说:以上文章为胡说八道的瞎讲,重要的是祝各位 Homeland 的朋友坛庆一周年快乐,Homeland 越来越好。
向各位论坛提案者、落实者和贡献者致敬