我想知道当我在实验室上使用网络浏览器登录时,Netflix、Hulu、Sling 等流媒体服务提供商如何识别我的设备。
我找不到任何 Javascript API 来获取 GUID 等。
您也可以在您的项目中使用fingerprintJS2库。
这个库如何获取指纹
Fingerprint.js 从设备/浏览器收集所有独特特征,通过哈希函数传递它们以提供唯一标识符。
示例
还有许多其他方法可以获得唯一的浏览器指纹。
获取浏览器信息的最新方法称为“Canvas Fingerprinting”。简单地说,网站是用 HTML5 代码编写的,在该代码中,有一小段代码会获取浏览器的指纹。
那么,网站到底是如何做到这一点的呢?让我解释一下。网站用于获取浏览器指纹的这种新跟踪方法是通过 HTML5 中的新编码功能启用的。
HTML5 是用于构建网站的编码语言。这是每个网站的核心基础。在 HTML5 编码语言中,有一个称为“canvas”的元素。
最初,HTML 元素用于在网页上绘制图形。
维基百科对
如何利用 HTML5 canvas 元素生成浏览器指纹提供了以下解释:
“当用户访问页面时,指纹识别脚本首先使用其选择的字体和大小绘制文本,并添加背景颜色。接下来,脚本调用 Canvas API 的 ToDataURL 方法来获取 dataURL 格式的画布像素数据,该数据基本上是二进制像素数据的 Base64 编码表示形式。最后,脚本获取文本编码像素数据的哈希值,作为指纹。”简单来说,这意味着 HTML5 canvas 元素会在网站上生成某些数据,例如访问者浏览器的字体大小和活动背景颜色设置。这些信息作为每个访客的唯一指纹。
与 Cookie 的工作方式相反,画布指纹识别不会将任何内容加载到您的计算机上,因此您将无法删除任何数据,因为它不是存储在您的计算机或设备上,而是存储在其他地方。
来源和进一步阅读:
https://pixelprivacy.com/resources/browser-fingerprinting/
https://multilogin.com/everything-you-need-to-know-about-canvas-fingerprinting/
顺便说一下,你可以通过谷歌搜索获得更多信息。
在使用fingerprint.Js库时,我禁用了一些选项,例如插件、枚举设备、浏览器版本,因为在设备指纹中添加耳机本质上是动态的,将读取耳机信息或相应地生成指纹或与浏览器版本相同。如果将来发生任何变化,指纹也会发生变化。 我的要求是创建一个独特且恒定的指纹,即使在几天后打开浏览器后也不会改变。