canvas指紋的技術(shù)原理:
canvas是一種在網(wǎng)頁上繪制2D和動畫的技術(shù)。
通過html5的canvas接口,在網(wǎng)頁上繪制一個隱藏的畫布圖像。
在不同操作系統(tǒng)、不同瀏覽器上,產(chǎn)生的圖片內(nèi)容不完全相同(我們?nèi)庋凼菬o法區(qū)分的)。
在圖片格式上,不同瀏覽器使用了不同的圖形處理引擎、不同的圖片導出選項、不同的默認壓縮級別等。
在像素級別來看,操作系統(tǒng)各自使用了不同的設(shè)置和算法來進行抗鋸齒和子像素渲染操作。即使相同的繪圖操作,產(chǎn)生的圖片數(shù)據(jù)的CRC檢驗也不相同。
計算機程序通過計算這張圖片數(shù)據(jù)的哈希值,能夠識別不同硬件設(shè)備渲染結(jié)果的細微區(qū)別。通過這種方式,技術(shù)上就能夠通過計算用戶設(shè)備的canvas指紋來標識用戶。
值得注意的是,如果用戶的設(shè)備,操作系統(tǒng),瀏覽器都一樣的話,計算出來的canvas指紋是一樣的。換句話說:canvas指紋不具備唯一性,要和其他的瀏覽器指紋相互結(jié)合利用來進一步計算出區(qū)分度更高的指紋標識。

如何隱藏自己的canvas指紋?
目前主要用2種方式:
- 安裝瀏覽器插件
谷歌應(yīng)用商店有隨機修改canvas指紋的插件(CanvasFingerprintBlock)。其原理是,每次隨機往canvas畫布里面注入一個隨機的噪音,從而影響圖片數(shù)據(jù)的CRC校驗結(jié)果。
2.拉力貓指紋瀏覽器
拉力貓指紋瀏覽器可模擬多種操作系統(tǒng)的瀏覽器,如PC端的window、mac os和linux系統(tǒng),移動端的IOS、Android和Lumia系統(tǒng),適用于全球的電商網(wǎng)站/社交媒體/廣告聯(lián)盟等多平臺業(yè)務(wù)不受限制。
拉力貓指紋瀏覽器通過模擬電腦或手機設(shè)備的軟硬件指紋信息,使得每個瀏覽器文件的Cookies、本地存儲等將被完全隔離,防止因瀏覽器指紋相同而網(wǎng)絡(luò)賬號出現(xiàn)關(guān)聯(lián)情況