日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

浏览器指纹实现方案:Cookie、Flash Cookies、帆布指纹识别

發(fā)布時間:2023/12/31 HTML 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浏览器指纹实现方案:Cookie、Flash Cookies、帆布指纹识别 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言:

瀏覽器指紋指什么?

簡單地說,瀏覽器指紋是一個能夠唯一標(biāo)識當(dāng)前瀏覽器的字符串

作用:

在網(wǎng)絡(luò)上精確定位到每一個個體,通過收集這些個體的數(shù)據(jù),分析后更加精準(zhǔn)的去推送廣告(精準(zhǔn)化營銷)或其他有針對性的一些活動。
舉個例子:
某天你在某商城購買了一臺筆記本,不就你會發(fā)現(xiàn)瀏覽網(wǎng)頁時很多廣告都變成了筆記本,這是因?yàn)槟阋呀?jīng)被唯一標(biāo)識了!

實(shí)現(xiàn)方法

1、Cookie

用戶訪問一個網(wǎng)站時,網(wǎng)站可以在用戶當(dāng)前的瀏覽器Cookie中永久植入一個含有唯一標(biāo)示符(UUID)的信息,并通過這個信息將用戶所有行為關(guān)聯(lián)起來,以便更好地為訪客提供個性化服務(wù)。

特點(diǎn):①:用戶可清除,清除后無法唯一標(biāo)識。②:許多瀏覽器都有隱身訪問模式(即關(guān)閉cookie功能)

2、Cookie替代方案——Flash Cookies

FlashCookie是由FlashPlayer控制的客戶端共享存儲技術(shù):
(1)、類似HTTP Cookie,Flash Cookie利用 SharedObject類實(shí)現(xiàn)本地存儲信息,SharedObject類用于在用戶計(jì)算機(jī)上讀取和存儲有限的數(shù)據(jù)量,共享對象提供永久貯存在用戶計(jì)算機(jī)上的對象之間的實(shí)時數(shù)據(jù)共享;
(2)、本地共享對象是作為一些單獨(dú)的文件來存儲的,它們的文件擴(kuò)展名為.SOL;
(3)、本地共享對象并不是基于瀏覽器的,所以普通的用戶不容易刪除它們。如果要刪掉它們的話,首先要知道這些文件所在的具體位置。這使得本地共享對象能夠長時間的保留在本地系統(tǒng)上。
特點(diǎn):比Cookie實(shí)現(xiàn)方式好,因?yàn)樗鼰o法通過瀏覽器快捷地刪除,但比較專業(yè)的人士還是能通過本地查找刪除:Flash Cookie文件存儲在本地文件夾
C:/Documents and Settings/電腦用戶/Application Data/Macromedia/Flash Player/#SharedObjects中。

3、帆布指紋識別(使用canvas實(shí)現(xiàn))

通過查詢?yōu)g覽器的代理字符串,屏幕色深,語言,插件安裝與支持的 MIME 類型,時區(qū)偏移量和其他功能,如本地存儲和會話存儲等等,然后這些值通過散列函數(shù)傳遞產(chǎn)生指紋,不需要通過 Cookie 存儲就可以識別瀏覽器。
在繪制canvas圖片時,同樣的canvas繪制代碼,不同機(jī)器和瀏覽器繪制的圖片特征是相同并且獨(dú)一無二的,這樣以來,提取最簡單的md5值便可以唯一標(biāo)識和跟蹤這個用戶。
目前已有開源項(xiàng)目實(shí)現(xiàn),如fingerprintjs2,fingerprintjs2 是一個快速的瀏覽器指紋庫,純 JavaScript 實(shí)現(xiàn),沒有依賴關(guān)系。默認(rèn)情況下,使用 Murmur Hash 算法返回一個唯一標(biāo)識當(dāng)前瀏覽器的32位字符串。地址:https://github.com/Valve/fingerprintjs2
點(diǎn)擊這里即可看到你的瀏覽器指紋: http://valve.github.io/fingerprintjs2/

引用

支持npm安裝或通過script標(biāo)簽引入

舉例:


注:如果options是一樣的話,值是一樣的,options是瀏覽器的語言、裝了什么插件等信息,傳入的東西越多,越精確;假如options傳入的是空對象,那么意思是根據(jù)當(dāng)前瀏覽器所有信息生成指紋。
結(jié)果:

特點(diǎn):目前暫時沒有好的對抗方案,無法屏蔽。

本人初步測試


其他人全面測試

測試結(jié)果:https://docs.zoho.com/sheet/open/08m2ga1cf6790c0eb4d8c8f7e54ca6ddb9b72

其測試結(jié)論

1.由于涉及設(shè)備以及瀏覽器的判定因素非常多,重復(fù)性很低,31臺設(shè)備皆無重復(fù)

2.也正因?yàn)樯婕暗囊蛩囟?#xff0c;一旦設(shè)備系統(tǒng)更新 or 瀏覽器版本更新 or 瀏覽器關(guān)鍵插件有變化(版本更新 or 新增卸載關(guān)鍵插件) ,生成的ID都會改變,由于瀏覽器版本更新還是比較頻繁的,很容易失去之前跟蹤的用戶

結(jié)論:canvas指紋只能作為一參考屬性去判斷設(shè)備的唯一性,不能只用這一個因素來判定設(shè)備唯一性。fingerPrint.js也不能取代cookie,但是可以作為輔助,如果用戶清除了cookie的情況下,還可以通過fingerPrint2.js跟蹤到該用戶重新set cookie(結(jié)論參考)

總結(jié)

以上是生活随笔為你收集整理的浏览器指纹实现方案:Cookie、Flash Cookies、帆布指纹识别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。