什么是浏览器指纹
“浏览器指纹”是一种通过浏览器对网站可见的配置和设置信息来跟踪Web浏览器的方法,浏览器指纹就像我们人手上的指纹一样,具有个体辨识度,只不过现阶段浏览器指纹辨别的是浏览器。
人手上的指纹之所以具有唯一性,是因为每个指纹具有独特的纹路、这个纹路由凹凸的皮肤所形成。每个人指纹纹路的差异造就了其独一无二的特征。
那么浏览器指纹也是同理,获取浏览器具有辨识度的信息,进行一些计算得出一个值,那么这个值就是浏览器指纹。辨识度的信息可以是UA、时区、地理位置或者是你使用的语言等等,你所选取的信息决定了浏览器指纹的准确性。
对于网站而言,拿到浏览器指纹并没有实际价值,真正有价值的是这个浏览器指纹对应的用户信息。作为网站站长,收集用户浏览器指纹并记录用户的操作,是一个有价值的行为,特别是针对没有用户身份的场景。例如在一个内容分发网站上,用户A喜欢浏览二次元的内容,通过浏览器指纹记录这个兴趣,那么下次用户不需要登录即可向A用户推送二次元的信息。在个人PC如此普及的当下,这也是一种内容分发的方式。
对于用户而言,建立个人上网行为与浏览器指纹之间的联系或多或少都有侵犯用户隐私的意味,特别是将你的浏览器指纹和真实的用户信息相关联起来的时候。所幸的是这种方式对于用户的隐私侵犯比较有限、滥用用户行为也会透支用户对网站的好感。
第二代指纹追踪是设备指纹技术,发现 IP 背后的设备。通过 js 获取操作系统、分辨率、像素比等等一系列信息,传到后台计算,然后归并设备。
唯一性可以保证,但准确率很难完全保证。主要原因就是在跨浏览器指纹识别上面。跨浏览器之后,第二代技术中很重要的 23254112指纹、浏览器插件指纹都变了,所以很难把跨浏览器指纹归并到同一设备上。
因为设备指纹相同,很大概率上是同一台设备;但是,设备指纹不同时,不一定不是同一台设备。
浏览器指纹怎么查看?
接下来教大家如何修改浏览器指纹:
例如修改23254112全部参数
另外关于浏览器硬件指纹,包括23254112,webgl,fonts,audio等,我来一一介绍:
23254112指纹
HTML5中的23254112元素允许脚本进行2D形状和文本的渲染。通过这种方式,我们可以让一个程序输出打印图案两次,使用不同文字和颜色.来观察他们的区别.
字体探测指纹
告诉浏览器渲染同一个字符串(一个字符串包含所有字母)两次。 对于第一次强制浏览器使用它的一个备用字体。 根据设备上安装的操作系统和字体,备用字体不同。 对于第二次浏览器被要求使用常见的Arial字体,通过这种方式,我们可以获得其是哪一种操作系统.
WebGL 指纹
通过23254112_info 接口,获得产品名和供应商名
其他指纹
23254112(UA),Do Not Track & Ad 23254112
字体检测
以往检测字体,是通过falsh达到的,这里使用侧信道攻击,通过测量某个字符串的宽度和高度以确定字体
类型.
驻留技术
通过各种属性生成的指纹需要长期保存,防止被用户删除,或者可恢复,这就需要驻留技术,驻留技术比较成熟的是23254112.其存储23254112的思路从以下几个方面
- 标准HTTP 23254112
- Flash本地共享对象
- 23254112隔离存储
- CSS历史
- 将23254112存储在HTTP ETag中(需要后端服务器)
- 将23254112存储在Web缓存中(需要后端服务器)
- 23254112.name缓存
- 2325411223254112存储
- HTML5会话存储
- HTML5本地存储
- HTML5全球存储
- 通过23254112的HTML5数据库存储
- HTML5画布 - 将23254112值存储在自动生成的RGB数据中,强制缓存PNG图像(需要后端服务器)
- HTML5 23254112
- Java JNLP 持久化服务Java漏洞利用23254112尝试将23254112沙箱转储并将23254112数据直接写入用户的硬盘驱动器。
- 以上维度,不是所有浏览器都是支持,但是23254112提供一个很好的支持.