如何使用 javascript 识别唯一设备?

新手上路,请多包涵

我想知道当我在 labtop 上使用网络浏览器登录时,Netflix、Hulu、Sling 等流媒体服务提供商如何识别我的设备。

我找不到任何 Javascript API 来获取 GUID 左右。

原文由 Amged 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 728
2 个回答

您也可以为您的项目使用 fingerprintJS2 库。

https://fingerprintjs.com/

这个库如何获取指纹

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

例子在此处输入图像描述

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

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

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

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

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

最初,HTML 元素用于在网页上绘制图形。

维基百科提供了以下关于 如何利用 HTML5 canvas 元素生成浏览器指纹 的解释:

“当用户访问页面时,指纹识别脚本首先使用其选择的字体和大小绘制文本,并添加背景颜色。接下来,脚本调用 Canvas API 的 ToDataURL 方法以获取 dataURL 格式的画布像素数据,这基本上是二进制像素数据的 Base64 编码表示。最后,脚本采用文本编码像素数据的哈希值,作为指纹。”

用简单的英语来说,这意味着 HTML5 canvas 元素在网站上生成某些数据,例如访问者浏览器的字体大小和活动背景颜色设置。此信息作为每个访问者的唯一指纹。

与 cookie 的工作方式相反,canvas 指纹识别不会将任何内容加载到您的计算机上,因此您将无法删除任何数据,因为它不存储在您的计算机或设备上,而是存储在其他地方。

来源和进一步阅读: https ://pixelprivacy.com/resources/browser-fingerprinting/

https://multilogin.com/everything-you-need-to-know-about-canvas-fingerprinting/

顺便说一下,您可以通过自己谷歌搜索获得更多信息。

原文由 Hisham___Pak 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

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

原文由 Farhaan 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题