全部指纹
硬件

设备内存

浏览器把内存取整到极少数几个值,其他数字都是人写的。

读取方式navigator.deviceMemorySec-CH-Device-Memory

它是什么

navigator.deviceMemory 粗略地告诉页面设备有多少内存,好让重型应用自行适配。为了限制指纹,Chromium 会把它取整到 2 的幂并封顶——这个 API 只会返回寥寥几个值。Firefox 与 Safari 没有实现它。

网站怎么读

navigator.deviceMemory          // 8   (0.25 · 0.5 · 1 · 2 · 4 · 8 …)
Sec-CH-Device-Memory: 8         // the same value, as a Client Hint header

服务端用 Accept-CH 声明后,同一个值还会以 Sec-CH-Device-Memory 请求头发送,于是 JavaScript 副本和请求头副本可以互相比对。

为什么它能认出你

它的熵按设计就很小。对风控的价值恰恰相反:因为合法集合太小,任何其他数字都证明这个属性是人手写的,而不是测出来的。

风控怎么用它

检查就是一次集合成员判断。3、6、12 或 128 这种值不会从浏览器里出来。请求头与脚本不一致,或者出现在引擎根本不报告它的浏览器上,同样一锤定音。

常见翻车点

照抄机器的真实内存(64)而不是浏览器会取整成的值;在 Firefox 环境里暴露 deviceMemory;JavaScript 属性与 Client Hint 取值不同。

Mango 正在接受候补登记。以下介绍首发能力,客户端将在发放邀请后开放使用。

Mango Browser 如何处理

自定义

Mango 的 Chromium 环境按该内核暴露的取值配置设备内存。Firefox 不提供 navigator.deviceMemory,这种情况下没有读数是正常现象,不代表环境不一致。

检测你的值

跳转到你的检测结果中的这一项。

查看我的结果

相关指纹