参考文档:Web API 接口参考 | MDN (mozilla.org)
全局相关:
包括:window document
windows
window
作为全局变量,代表了脚本正在运行的窗口,暴露给 Javascript 代码。windows是最顶层的东西,一般某个浏览器独有的API(例如Chrome的浏览器具有某个属性,但是其他任何浏览器都没有)不会被作为浏览器检测对象,其余所有的API都可能被当作指纹检测
例如:history.length == ???
document
Document
接口表示任何在浏览器中载入的网页,并作为网页内容的入口,也就是DOM树。DOM 树包含了像table、tr 这样的元素,以及大量其它元素。它向网页文档本身提供了全局操作功能,能解决如何获取页面的 URL,如何在文档中创建一个新的元素这样的问题
例如:document.defaultView === window
环境相关:
包括:navigator screen history
navigator
navigator是浏览器指纹检测最多的,里面包含了经纬度、请求头、UA、浏览器发行商等。补起来也比较简单,大多复制粘贴就行。
请求相关:
包括:XMLHttpRequest fetch worker
这种大多补不了,只能通过截断,判断出他想要什么,他请求了什么。
Dom相关:
包括:canvas jquery 所有对dom节点的操作
canvas 在国内一般不检测(有这个对象就行,不检测对象里面究竟是什么)。其他与dom节点相关的一般都不太好补,只能分析他想要干什么,是否参与了计算,如果没有参与计算就不用管他了,如果参与了计算把计算结果补上就行。
数据库相关:
包括:Storage IndexedDB cookie
这部分比较好补,
cookie=document.cookie
localStorage = new Storage() // 里面大多是增删改查的方法
其他:
包括:caches,WebGL,AudioContext,WebRTC
这部分很少被检测
网友评论