<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Fingerprint2 TEST</title>
<style>
body {
color: #555;
}
#info {
font-size: 12px;
}
#control span {
color: #333;
margin-left: 10px;
}
</style>
</head>
<body>
<!-- <div id="info">
<p>Fingerprint2 Github: <a href="https://github.com/Valve/fingerprintjs2" target="_blank">https://github.com/Valve/fingerprintjs2</a>
</p>
<p>纯前端实现的浏览器指纹采集器,通过获取浏览器中所有能获取到的信息(部分通过base64转成String),最后生成出md5,用于该用户在该设备上的唯一标识码,官方宣称准确度高达99.5%</p>
</div> -->
<div id="control">
<button onclick="start()">获取指纹</button>
<!-- <span>userAgent:</span><input type="checkbox" id="userAgent" checked="checked">
<span>fonts:</span><input type="checkbox" id="fonts" checked="checked">
<span>fontsFlash:</span><input type="checkbox" id="fontsFlash" checked="checked">
<span>canvas:</span><input type="checkbox" id="canvas" checked="checked">
<span>webgl:</span><input type="checkbox" id="webgl" checked="checked">
<span>audio:</span><input type="checkbox" id="audio" checked="checked">
<span>enumerateDevices:</span><input type="checkbox" id="enumerateDevices" checked="checked"> -->
</div>
<div id="view">
</div>
<script src="https://cdn.staticfile.org/fingerprintjs2/2.1.0/fingerprint2.min.js"></script>
<script>
function start() {
const start = new Date().getTime();
let view = document.querySelector('#view');
view.innerHTML = '';
let excludes = {
userAgent: true,
audio: true,
enumerateDevices: true,
fonts: true,
fontsFlash: true,
webgl: true,
canvas: true
};
// if (!document.querySelector('#userAgent').checked) {
// excludes.userAgent = true;
// }
// if (!document.querySelector('#audio').checked) {
// excludes.audio = true;
// }
// if (!document.querySelector('#enumerateDevices').checked) {
// excludes.enumerateDevices = true;
// }
// if (!document.querySelector('#fonts').checked) {
// excludes.fonts = true;
// }
// if (!document.querySelector('#fontsFlash').checked) {
// excludes.fontsFlash = true;
// }
// if (!document.querySelector('#webgl').checked) {
// excludes.webgl = true;
// }
// if (!document.querySelector('#canvas').checked) {
// excludes.canvas = true;
// }
let options = {
excludes: excludes
}
console.log(options)
Fingerprint2.get(options, function(components) {
// 参数
const values = components.map(function(component) {
return component.value
});
// 指纹
const murmur = Fingerprint2.x64hash128(values.join(''), 31);
view.innerHTML += '<p>指纹 : ' + murmur + '</p>';
view.innerHTML += '<p>消耗 : ' + (new Date().getTime() - start) + ' 毫秒</p>';
view.innerHTML += '<p>使用的参数 : </p>';
for (const c of components) {
view.innerHTML += '<p>' + c.key + ' : ' + c.value + '</p>';
}
});
}
</script>
</body>
</html>
另类的获取
- 在下单面引入JS: https://wx.gtimg.com/wxpay_h5/fingerprint2.min.1.5.1.js
- 调用Fingerprint2()获取浏览器指纹
<script type="text/javascript">
var fp=new Fingerprint2();
fp.get(function(result){
//result即为获取到的浏览器指纹值
});
</script>
Comments | NOTHING
该文章已经关闭评论