基础指纹:
基础指纹是相对于容易发现和修改的,比如HTTP的头部。除了在HTTP中获取的指纹,还可以通过其他方式获取浏览器的特征信息,例如:UA、浏览器插件(如Flash、Java等)、系统平台、是否设置“Do not track”、字体等,得到这些信息值后经过一些运算,得到浏览器指纹的信息商,但是这些信息的重复率比较高,所以只能是辅助识别,需要更准确的指纹来确定唯一性。
高级指纹:
Canvas指纹:
Canvas是HTML5中的动态绘图标签,也可以用来生成图片或处理图片。使用Canvas绘制相同的元素,由于系统差异,字体渲染引擎也不同,抗锯齿、亚像素渲染等算法也不同。Canvas把同样的文字转换成图片,得到的结果也不一样。
WebGL指纹:
网站可以使用WebGL识别设备的指纹,WebGL报告——完整的WebGL浏览器报告表单可用,可以检测到。在某些情况下,它会转换为哈希值,以便更快地进行分析。WebGL图像——被渲染并转换成具有哈希值的隐藏3D图像。由于最终结果取决于计算的硬件设备,因此该方法将为设备及其驱动程序的不同组合生成唯一的值。此方法为不同的设备组合和驱动程序生成唯一的值。
如果要避免被指纹跟踪,我们就需要利用反指纹技术来更改混淆指纹,防止网站获取各种信息,返回一个虚假数据,从而保护我们的隐私信息。