點選 上方藍字 關注我們

閱讀本文大概需要3分鐘。
最近老陳在自己倒騰一些東西,然後其中就用到了一些跟蹤技術,以前擷取一些使用者路徑跟蹤主要靠的是cookie辨別,但是這一種的話并不能解決很大程度上,前端浏覽器唯一辨別的問題,有這個唯一辨別我們就能夠針對使用手機或者pc端上特定的浏覽器給他建立一個身份,并且根據這個身份記錄一些他的習慣。 1.通過canvas來繪制指紋資訊 由于不同的系統顯示卡在繪制canvas時渲染的各個參數不同,是以繪制出來的圖檔的資料的crc校驗是不一樣的,是以我們可以根據這個來生成浏覽器的指紋資訊。
function getId () { const canvas = document.getElementById('canvas') const ctx = canvas.getContext('2d') ctx.font = '16px Arial' ctx.fillStyle = '#ccc' ctx.fillText('hello, shanyue', 2, 2) return canvas.toDataURL('image/jpeg')}
解讀一下代碼,擷取base64的dataurl,對這個dataurl進行md5計算就可以了。 2.使用成熟的第三方庫fingerprintjs2 主要他會根據以下幾種來擷取浏覽器指紋資訊。 canvas、webgl、UserAgent、AudioContext、對新式API的支援等。
requestIdleCallback(function () { Fingerprint2.get((components) => { const values = components.map((component) => component.value) const fp = Fingerprint2.x64hash128(values.join(''), 31) })})
components也有一些分類,裡面有一些components是穩定的,有一些是不穩定的,是以要根據自己對于業務的了解生成屬于自己的唯一辨別。
掃描關注
老陳說前端
想象不到的幹貨