浏览器指纹识别是使用浏览器设置和属性识别和跟踪网站访问者的方法,不依赖于cookie或登录会话,而是通过收集一系列浏览器参数来识别网站访问者的。
从浏览器版本到屏幕尺寸和安装的字体,每个参数本身的效用也许有限,但当与其他参数结合使用时,可用于为每个网站访问者创建唯一标识符。
当你在互联网上行走和交易时,打个比方说亚马逊网站,可能你无意间搜索了一个商品,接下来页面上就会出现相类似的产品,这就是浏览器指纹识别。
在本篇文章中,我们将概述浏览器指纹识别的基础知识,如何使用它来跟踪互联网用户以及如何防止浏览器指纹识别。
什么是浏览器指纹?
浏览器指纹是通过浏览器使网站可见的配置和设置信息(如系统字体、屏幕分辨率、浏览器插件等)来跟踪Web浏览器的一种方法。
浏览器的指纹,就像我们手上的指纹一样,是高度可识别的。人类手上的指纹是独一无二的,因为每个手指上都有独特的图案。
一些浏览器的指纹信息也是可以识别的。如果你能获取浏览器的信息,做一些数学运算,得出一个值,这个值就是浏览器指纹。可识别的信息可以是UA、时区、地理位置或您使用的语言等。您选择计算的信息决定了浏览器指纹的准确性。
即使使用浏览器的私有窗口模式,浏览器指纹几乎可以绝对地定位用户。这是一种被动的识别方式。也就是说,如果你访问一个网站,网站可以认出你,虽然你不知道你是谁,但你有一个独特的指纹。它将非常方便的广告,精确推送,以及其他有关隐私的事情。
浏览器指纹识别如何运作?
浏览器指纹识别是一种十分有效的数据收集方式,可散列独有的浏览器参数并创建数字签名。网站可以将其他JavaScript代码(通过创建自己的脚本或从第三方提供商处购买)添加到HTTP请求响应中。JavaScript代码扫描所有公共浏览器参数,并根据数据创建唯一的数字签名。
通过使用其他JavaScript代码获得的数据包括用户代理、屏幕大小和分辨率、已安装的字体、插件和扩展、GPU/CPU等。每个数据点都增加了设备的唯一性,从而使网站可以更轻松地识别特定的计算机。
浏览器指纹和Cookie
当cookies存储在您的计算机上并且您打开购物车(或以前打开的站点)时,数据文件将被重新读取,您可以看到以前的浏览历史记录和购物车中已有的商品。你不需要输入密码就可以再次登录。
事实上,缓存文件中不仅有cookies,服务器还会在文件中请求页面URL、请求时间等。通过分析这些数据,其他人可以确切地知道您访问过哪些页面以及访问了多长时间。
利用cookies和其他文件进行跟踪是第一代浏览器指纹跟踪技术,需要用户登录才能获得有效信息。第二代人引入了浏览器指纹的概念,通过增加浏览器的特征值,用户可以更加区分。现在第三代人已经开始