如何使用javascript识别独特的设备?

Amg*_*ged 8 javascript streaming drm

我想知道 Netflix、Hulu、Sling 等流媒体服务提供商如何在我使用笔记本电脑上的网络浏览器登录时识别我的设备。
我找不到任何 Javascript API 来获取 GUID 左右。

小智 13

您也可以为您的项目使用指纹JS2 库。

https://fingerprintjs.com/

这个库如何获取指纹

Fingerprint.js 从设备/浏览器中收集所有独特功能,通过哈希函数传递它们以提供唯一标识符。

例子 在此处输入图片说明

还有许多其他方法可以获得唯一的浏览器指纹。

获取浏览器信息的最新方法称为“画布指纹”。简而言之,网站是用 HTML5 代码编写的,在该代码中,有一小段代码可以获取浏览器的指纹。

那么,网站究竟是如何做到这一点的呢?让我解释。

网站用于获取浏览器指纹的这种新跟踪方法是由 HTML5 中的新编码功能启用的。

HTML5 是用于构建网站的编码语言。它是每个网站的核心基础。在 HTML5 编码语言中,有一个元素称为“画布”。

最初,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/

顺便说一句,您可以自己从谷歌上获得更多信息。

  • 即使您使用fingerprintjs或canvas获得了它,如何确保每次访问时都会创建相同的指纹? (3认同)

Far*_*aan 5

我正在使用指纹js.library 创建浏览器指纹,它适用于所有设备,但是当我在精确配置的设备(如具有精确配置的笔记本电脑)中测试指纹时,它会生成相同的指纹。在实施之前,我阅读了许多博客说画布指纹生成唯一的 base64 字符串,但是当我在具有相同配置的设备中进行测试时,它生成相同的画布指纹。画布指纹在精确或相似的设备中并不是唯一的。

在使用指纹.Js 库时,我做了一些选项禁用,如插件、枚举设备、浏览器版本,因为这在本质上是动态的,在设备指纹中添加耳机会读取耳机信息或相应地生成指纹或与浏览器版本相同。如果这件事将来发生任何变化,指纹会有所不同。我的要求是创建一个独特且恒定的指纹,即使在几天后打开浏览器也不会改变。

  • 您能否分享一些示例代码来禁用插件和其他组件? (3认同)
  • 你能分享你的解决方案吗? (2认同)