获取浏览器指纹方法
很早以前就知道有瀏覽器指紋的,不過我不知道怎么樣可以保存或者記錄瀏覽器指紋,剛瀏覽網頁,
發現,竟然早就有瀏覽器指紋的實現方法了,很開心啊,竟然還可以前端來做,這下更開心了。
1.微信支付里面有相關的方法
背景介紹
由于用戶網絡使用代理或網絡環境復雜的原因導致無法獲取準確的用戶端IP,商戶側可在統一下單時傳遞fingerprint參數給微信側,用于輔助校驗
這里需要注意,瀏覽器指紋并不能完全代替客戶端IP(spbill_create_ip),也就是說在設置fingerprint字段的同時,
spbill_create_ip字段也必須傳遞且不能亂傳(如傳內網IP,調起支付還是會引發攔截)
fingerprint設置步驟
1. 在下單面引入JS: https://wx.gtimg.com/wxpay_h5/fingerprint2.min.1.5.1.js
2. 調用Fingerprint2()獲取瀏覽器指紋
<script type="text/javascript">
var fp=new Fingerprint2();
fp.get(function(result){
//result即為獲取到的瀏覽器指紋值
});
</script>
3. 統一下單接口新增fingerprint字段,把第二步中的result值傳遞給fingerprint字段發起下單操作即可,其它步驟不變
原文地址為:https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=15_7&index=6
在vue中獲取瀏覽器指紋方法
1.vue安裝插件
npm install --save fingerprintjs2
2.vue需要用到的地方引入
import Fingerprint2 from 'fingerprintjs2'
3.調用
Fingerprint2.get(function(components) {
const values = components.map(function(component,index) {
if (index === 0) { //把微信瀏覽器里UA的wifi或4G等網絡替換成空,不然切換網絡會ID不一樣
return component.value.replace(/NetType/w+/, '')
}
return component.value
})
// 生成最終id murmur
const murmur = Fingerprint2.x64hash128(values.join(''), 31);
console.log('瀏覽器指紋碼:'+murmur )
})
本文看自:https://www.jianshu.com/p/11fe954c5ed9
總結
- 上一篇: 蔚来汽车 3000 万次换电服务达成
- 下一篇: js 动态添加元素(div、li、img