FingerprintJS 是一个浏览器指纹识别库,通过采集浏览器环境信息(UA、Canvas、WebGL、字体、时区等)生成稳定的 visitorId,可用于无感防刷、风险控制、账号安全等场景。
安装
1 | npm i @fingerprintjs/fingerprintjs |
使用
1 | import FingerprintJS from "@fingerprintjs/fingerprintjs"; |
代码说明
FingerprintJS.load():加载指纹计算模块,只需加载一次,可存入 Promise 复用fpPromise.get():返回指纹结果对象,其中visitorId即为该浏览器的唯一标识- 同一浏览器在不同时间、不同页面获取的
visitorId保持一致,但清除浏览器数据或更换设备后可能变化
应用场景
- 无感登录:记录用户首次访问生成的
visitorId,下次访问自动识别老用户 - 防刷验证:投票、抽奖、评论等场景通过
visitorId限制同一设备操作次数 - 风控识别:检测批量注册、撞库、爬虫等异常行为
与 Cookie 的区别
Cookie 存储在浏览器本地,用户清除浏览器数据后即失效,且可被隐私模式拦截;而 FingerprintJS 通过硬件与浏览器环境特征生成标识,即使清除 Cookie 也能再次识别,稳定性更高。
CodePen 示例
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 JCAlways!
评论



