知识分享
Knowledge
![logo](/upload/images/2022/3/ee1788640f0e3c75.png)
知识分享
Browser fingerprinting
什么是"Browser Fingerprint"?
Browser Fingerprint是一组浏览器 + PC等客户端的特性, 依赖这组特性, 我们可以几乎唯一的识别这些浏览器和客户端. 而且获得这些属性不需要额外要求权限.
例子:
Attribute | Value |
---|---|
Attribute | Value |
User agent | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36 |
accept | Text / html, application / xhtml + xml, application / xml; q = 0.9, * / *; q = 0.8 |
encoding | gzip, deflate, br |
languages | En-US, with q = 0.5 |
List of plugins | 0: Chrome PDF Plugin; 1: Chrome PDF Viewer; 2: Native Client; 3: Widevine Content Decryption Module; |
Platform | Win32 |
Allowed cookies | Yes |
Do not track | Yes |
Time zone | -480 |
Screen resolution | 1366x768x24 |
Local storage | Yes |
session storage | Yes |
Canvas | |
WebGL Vendor | Google Inc. |
WebGL Renderer | ANGLE (Intel(R) HD Graphics 520 Direct3D11 vs_5_0 ps_5_0) |
List of fonts (Flash) | Flash not detected |
Screen resolution (Flash) | Flash not detected |
Language (Flash) | Flash not detected |
Platform (Flash) | Flash not detected |
AdBlock | Yes |
属性的稳定性
作为浏览器"指纹", 我们要求2个特点, 1) 稳定(几乎不会变化) 2) 唯一(几乎). 但有些属性是难免要更新的, 比如浏览器的版本升级. 按照这些更改的发起方, 我们把他分成3大类, 用户/自动/环境.
用户: 用户自己更改了某个选项的值. 自动: 浏览器自动升级. 环境: 比如用户去了另外一个地点出差, 或者临时接了另外的显示器或者投影.
Attribute | trigger | 90th | 95th |
---|---|---|---|
Attribute | trigger | 90th | 95th |
Screen resolution | 环境 | 3.1 | 1.8 |
User agent | 自动 | 13.0 | 8.4 |
List of plugins | 自动 / 用户 | 12.2 | 8.7 |
List of fonts | 自动 | 11.8 | 5.4 |
HTTP headers | 自动 | 34.1 | 14.9 |
Canvas | 自动 | 35.3 | 17.2 |
Browser version | 自动 | 33.3 | 23.5 |
Time zone | 环境 | 53.8 | 26.8 |
WebGL Renderer | 自动 | 81.2 | 30.3 |
WebGL Vendor | 自动 | 107.9 | 48.6 |
languages | 用户 | 215.1 | 56.7 |
Do not track | 用户 | 171.4 | 57.0 |
encoding | 自动 | 106.1 | 60.5 |
accept | 自动 | 163.8 | 109.5 |
Local storage | 用户 | Never | 320.2 |
Platform | 自动 | Never | Never |
Cookies | 用户 | Never | Never |
从这个表能看出, User Agent相对变化的比较频繁, 因为浏览器厂商会经常推送更新; 而language这种属性就很少有变化.
跟踪算法
请访问公司K站(知识库获取后续内容)