天天看點

c#擷取對象的唯一辨別_【實戰】前端擷取浏覽器唯一辨別

點選 上方藍字 關注我們

c#擷取對象的唯一辨別_【實戰】前端擷取浏覽器唯一辨別

閱讀本文大概需要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是穩定的,有一些是不穩定的,是以要根據自己對于業務的了解生成屬于自己的唯一辨別。

   掃描關注

老陳說前端

想象不到的幹貨

c#擷取對象的唯一辨別_【實戰】前端擷取浏覽器唯一辨別