一、什么是浏览器设备指纹?
创新互联公司主营横山网站建设的网络公司,主营网站建设方案,app软件开发公司,横山h5微信小程序定制开发搭建,横山网站营销推广欢迎横山等地区企业咨询第二代指纹追踪是设备指纹技术,发现 IP 背后的设备。通过 js 获取操作系统、分辨率、像素比等等一系列信息,传到后台计算,然后归并设备。
唯一性可以保证,但准确率很难完全保证。主要原因就是在跨浏览器指纹识别上面。跨浏览器之后,第二代技术中很重要的 canvas 指纹、浏览器插件指纹都变了,所以很难把跨浏览器指纹归并到同一设备上。
(这是从网上找的比较容易理解的解释)
二、如何使用?
https://github.com/fingerprintjs/fingerprintjsyhttps://github.com/fingerprintjs/fingerprintjs我用的是这个开源的代码,点进去会有教程教你怎么使用的。以下是我的使用代码:
const fpPromise = import('https://openfpcdn.io/fingerprintjs/v3')
.then(FingerprintJS =>FingerprintJS.load())
// Get the visitor identifier when you need it.
fpPromise
.then(fp =>fp.get())
.then(result =>{
// This is the visitor identifier:
const visitorId = result.visitorId
// 写入localStorage
browserId = visitorId
getbrowserId(browserId)
console.log("visitorId "+visitorId)
})
.catch(error =>console.error(error))
function getbrowserId( browserId ){
if(!window.localStorage){
swal("当前浏览器版本比较低,请更换浏览器使用");
}else{
let storage=window.localStorage;
if(storage.browserId != null){
browserId = storage.browserId;
}else{
storage.browserId = browserId;
}
}
}
在使用的时候呢发现,首次打开网页,和打开之后刷新一下后获得的id是不一样的。但是下一次清除掉缓存,再次打开和首次打开的id是一致的,刷新后和刷新后是一致的。
我有时候会获取不到,虽然几率非常小小(下面是随机生成16位数字和字母组合的方法)
function getRamNumber(){
var result='';
for(var i=0;i<16;i++){
result+=Math.floor(Math.random()*16).toString(16)
}
return result;
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款