fingerprint2瀏覽器指紋使用記錄

我在uniapp-vue3-H5端使用的,記錄一下

抄的這里前端使用fingerprintjs2獲取瀏覽器指紋fingerprintjs2是通過設備瀏覽器信息獲取瀏覽器指紋的插件( - 掘金

?1、安裝依賴

npm i fingerprintjs2 -S

2、抽成模塊文件,@/utils/Fingerprint2.js

生成指紋時根據需要調整參數

import Fingerprint2 from 'fingerprintjs2'; // 引入fingerprintjs2function createdFingerprint() {// 您不應在頁面加載時或加載后直接運行指紋。 而是使用setTimeout或requestIdleCallback將其延遲幾毫秒,以確保指紋一致。if (window.requestIdleCallback) {requestIdleCallback(() => {createFingerprint();});} else {setTimeout(() => {createFingerprint();}, 500);}
}
// 創建瀏覽器指紋
function createFingerprint() {// 選擇哪些信息作為瀏覽器指紋生成的依據const options = {// fonts: {// 	extendedJsFonts: true,// },excludes: { //排除,獲取不到的數據,影響設備唯一性的標識//獲取不到"deviceMemory": true, //設備內存"fontsFlash": true, //已安裝的Flash字體列表"enumerateDevices": true, //可用的多媒體輸入和輸出設備的信息。"doNotTrack": true, //do-not-track設置"cpuClass": true, //瀏覽器系統的CPU等級//影響設備唯一指紋"timezoneOffset": true, //本地時間與 GMT 時間之間的時間差,以分鐘為單位"timezone": true, //時區"fonts": true, //使用JS/CSS檢測到的字體列表"language": true,//語言"plugins":true,//瀏覽器的插件信息"deviceMemory":true,//設備內存'adBlock':true,//廣告屏蔽工具"screenResolution":true,//屏幕分辨率},};return new Promise((resolve, reject) => {// 瀏覽器指紋// const fingerprint = Fingerprint2.get((components) => { // 參數只有回調函數時,默認瀏覽器指紋依據所有配置信息進行生成const fingerprint = Fingerprint2.get(options, (components) => { // 參數只有回調函數時,默認瀏覽器指紋依據所有配置信息進行生成const values = components.map(component => component.value); // 配置的值的數組const murmur = Fingerprint2.x64hash128(values.join(''), 31); // 生成瀏覽器指紋// console.log("參數caddf45fc23104f9d17f3ef82af1df6c", options);// console.log("回調caddf45fc23104f9d17f3ef82af1df6c", components);// console.log("配置530e10f8a53a5f7f1022087b41b5ef27的值的數組", values);console.log("生成瀏覽器指紋", murmur);uni.setStorageSync("uuid", murmur);//緩存指紋resolve(murmur)});})
}
export default {createdFingerprint,
}

3、進入網頁生成指紋App.vue

import Fingerprint from '@/utils/Fingerprint2.js'; //數據緩存
Fingerprint.createdFingerprint();

4、指紋依賴參數解釋

// 自定義選擇瀏覽器的部分配置信息生成瀏覽器指紋
// var componentss = [{
// 		key: 'userAgent',
// 		getData: UserAgent
// 	}, //用戶代理
// 	{
// 		key: 'webdriver',
// 		getData: webdriver
// 	}, //網頁內驅動軟件
// 	{
// 		key: 'language',
// 		getData: languageKey
// 	}, //語言種類
// 	{
// 		key: 'colorDepth',
// 		getData: colorDepthKey
// 	}, //目標設備或緩沖器上的調色板的比特深度
// 	{
// 		key: 'deviceMemory',
// 		getData: deviceMemoryKey
// 	}, //設備內存
// 	{
// 		key: 'pixelRatio',
// 		getData: pixelRatioKey
// 	}, //設備像素比
// 	{
// 		key: 'hardwareConcurrency',
// 		getData: hardwareConcurrencyKey
// 	}, //可用于運行在用戶的計算機上的線程的邏輯處理器的數量。
// 	{
// 		key: 'screenResolution',
// 		getData: screenResolutionKey
// 	}, //當前屏幕分辨率
// 	{
// 		key: 'availableScreenResolution',
// 		getData: availableScreenResolutionKey
// 	}, //屏幕寬高(空白空間)
// 	{
// 		key: 'timezoneOffset',
// 		getData: timezoneOffset
// 	}, //本地時間與 GMT 時間之間的時間差,以分鐘為單位
// 	{
// 		key: 'timezone',
// 		getData: timezone
// 	}, //時區
// 	{
// 		key: 'sessionStorage',
// 		getData: sessionStorageKey
// 	}, //是否會話存儲
// 	{
// 		key: 'localStorage',
// 		getData: localStorageKey
// 	}, //是否具有本地存儲   
// 	{
// 		key: 'indexedDb',
// 		getData: indexedDbKey
// 	}, //是否具有索引DB
// 	{
// 		key: 'addBehavior',
// 		getData: addBehaviorKey
// 	}, //IE是否指定AddBehavior
// 	{
// 		key: 'openDatabase',
// 		getData: openDatabaseKey
// 	}, //是否有打開的DB
// 	{
// 		key: 'cpuClass',
// 		getData: cpuClassKey
// 	}, //瀏覽器系統的CPU等級
// 	{
// 		key: 'platform',
// 		getData: platformKey
// 	}, //運行瀏覽器的操作系統和(或)硬件平臺
// 	{
// 		key: 'doNotTrack',
// 		getData: doNotTrackKey
// 	}, //do-not-track設置
// 	{
// 		key: 'plugins',
// 		getData: pluginsComponent
// 	}, //瀏覽器的插件信息
// 	{
// 		key: 'canvas',
// 		getData: canvasKey
// 	}, //使用 Canvas 繪圖
// 	{
// 		key: 'webgl',
// 		getData: webglKey
// 	}, //WebGL指紋信息
// 	{
// 		key: 'webglVendorAndRenderer',
// 		getData: webglVendorAndRendererKey
// 	}, //具有大量熵的WebGL指紋的子集
// 	{
// 		key: 'adBlock',
// 		getData: adBlockKey
// 	}, //是否安裝AdBlock
// 	{
// 		key: 'hasLiedLanguages',
// 		getData: hasLiedLanguagesKey
// 	}, //用戶是否篡改了語言
// 	{
// 		key: 'hasLiedResolution',
// 		getData: hasLiedResolutionKey
// 	}, //用戶是否篡改了屏幕分辨率
// 	{
// 		key: 'hasLiedOs',
// 		getData: hasLiedOsKey
// 	}, //用戶是否篡改了操作系統
// 	{
// 		key: 'hasLiedBrowser',
// 		getData: hasLiedBrowserKey
// 	}, //用戶是否篡改了瀏覽器
// 	{
// 		key: 'touchSupport',
// 		getData: touchSupportKey
// 	}, //觸摸屏檢測和能力
// 	{
// 		key: 'fonts',
// 		getData: jsFontsKey,
// 		pauseBefore: true
// 	}, //使用JS/CSS檢測到的字體列表
// 	{
// 		key: 'fontsFlash',
// 		getData: flashFontsKey,
// 		pauseBefore: true
// 	}, //已安裝的Flash字體列表
// 	{
// 		key: 'audio',
// 		getData: audioKey
// 	}, //音頻處理
// 	{
// 		key: 'enumerateDevices',
// 		getData: enumerateDevicesKey
// 	} //可用的多媒體輸入和輸出設備的信息。
// ]

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/85000.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/85000.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/85000.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深度學習面試八股簡略速覽

在準備深度學習面試時,你可能會感到有些不知所措。畢竟,深度學習是一個龐大且不斷發展的領域,涉及眾多復雜的技術和概念。但別擔心,本文將為你提供一份全面的指南,從基礎理論到實際應用,幫助你在面試中脫穎…

使用 Redis 作為向量數據庫

一、什么是向量數據庫? 向量(Vector):在機器學習和 AI 中,向量是由一系列數字組成的序列,用于數值化地描述數據的特征或語義。文本、圖像、音頻等非結構化數據可以通過模型轉換成固定長度的向量。 向量數據…

變量的計算

不同類型變量之間的計算 數字型變量可以直接計算 在python中,數字型變量可以直接通過算術運算符計算bool型變量:True 對應數字1 ;False 對應數字0、 字符串變量 使用 拼接字符串 使用 * 拼接指定倍數的相同字符串 變量的輸入:&…

PostgreSQL學會如何建表

開始使用PostgreSQL之前, 上一節我們說了怎樣安裝它。 PostgreSQL可能已經安裝到你的電腦上了,安裝后postgre服務默認在電腦開機時運行啟動。 一.了解PostgreSQL的運行 PostgreSQL使用一種客戶端/服務器(C/S)模型。 和其他典型的客戶端/服務…

Linux驅動學習筆記(十)

熱插拔 1.熱插拔:就是帶電插拔,即允許用戶在不關閉系統,不切斷電源的情況下拆卸或安裝硬盤,板卡等設備。熱插拔是內核和用戶空間之間,通過調用用戶空間程序實現交互來實現的,當內核發生了某種熱拔插事件時…

大模型應用開發第五講:成熟度模型:從ChatGPT(L2)到未來自主Agent(L4)

大模型應用開發第五講:成熟度模型:從ChatGPT(L2)到未來自主Agent(L4) 資料取自《大模型應用開發:動手做AI Agent 》。 查看總目錄:學習大綱 關于DeepSeek本地部署指南可以看下我之…

Delphi 導入excel

Delphi導入Excel的常見方法可分為兩種主流方案:基于OLE自動化操作Excel原生接口和利用第三方組件庫。以下為具體實現流程及注意事項: ?一、OLE自動化方案(推薦基礎場景)? 該方法通過COM接口調用本地安裝的Excel程序&#xff0c…

Selenium的第四天打卡——Selenium瀏覽器應用(完整版)

Selenium瀏覽器應用 目錄 Selenium瀏覽器應用 一、瀏覽器操作示例代碼 1.設置瀏覽器縮放大小 2.瀏覽器前進和后退 3.瀏覽器刷新 二、WebDriver常見方法 三、鼠標事件示例 四、鍵盤事件示例 五、獲取斷言信息 六、窗口的切換 七、關鍵注意事項 一、瀏覽器操作示例代…

PMO價值重構:從項目管理“交付機器”到“戰略推手”

在數字化轉型浪潮中,項目管理辦公室(PMO)正經歷著前所未有的角色蛻變。傳統上,PMO往往被視為項目管理的“交付機器”,專注于項目的按時交付和資源分配。然而,隨著企業對戰略執行的重視,PMO正逐漸…

本地依賴庫的版本和庫依賴的版本不一致如何解決?

我用的 yarn v4 版本,所以以下教程命令都基于yarn 這里假設我報錯的庫名字叫 XXXXXXXX,依賴他的庫叫 AAAAAAAA 排查解決思路分析: 首先查看一下 XXXXXXXX 的依賴關系,執行 yarn why XXXXXXXX 首先我們要知道 yarn 自動做了庫…

SQLiteStudio - 免費開源、輕量高效,跨平臺的 SQLite 數據庫管理工具,代替 Navicat for SQLite

管理 SQLite 數據庫就用這款軟件,真的早該摒棄破解和盜版的 Navicat 了。 SQLiteStudio 是一款專注于管理 SQLite 數據庫 的桌面軟件,用于瀏覽和編輯 SQLite 數據庫文件。軟件的作者是來自波蘭的開發者 Pawe? Salawa,他是一位擁有 20 年 Ja…

DeepSeek R1-0528 新開源推理模型(免費且快速)

DeepSeek推出了新模型,但這不是R2! R1-0528是DeepSeek的最新模型,在發布僅數小時后就在開源社區獲得了巨大關注。 這個悄然發布的模型DeepSeek R1-0528,已經開始與OpenAI的o3一較高下。 讓我來詳細介紹這次更新的新內容。 DeepSeek R1-0528 發布 DeepSeek在這次發布中采…

Opera Neon發布該公司首款“AI代理”瀏覽器

Opera 的瀏覽器產品組合今日迎來了新成員。Opera Neon 是該公司首款“AI 代理”瀏覽器,旨在“重新思考瀏覽器在代理網絡中的角色”。開發人員聲稱,Neon 能夠理解用戶的意圖,并利用 AI 驅動的功能將其轉化為行動。 Opera Neon 由三個主要部分…

網絡安全之Web滲透加解密

項目基本使用 準備環境:node.js python chrome npm install chrome-remote-interface pip install playwright playwright install chromium pip install mitmproxy ............... 第一步啟動cdp.js。 第二步使用python .\cdp_load.py vue_demo,連…

【VSCode-Qt】Docker遠程連接的項目UI文件在 VSCode 上無法預覽

Docker遠程連接的UI文件在 VSCode 上無法預覽,通常是因為 VSCode 通過遠程開發擴展(Remote - SSH/Docker)連接到 Docker 容器時,某些圖形化功能未正確配置或支持。以下是可能原因和解決方案: 原因分析 X11 轉發未配置…

【HW系列】—web組件漏洞(Strtus2和Apache Log4j2)

本文僅用于技術研究,禁止用于非法用途。 文章目錄 Struts2Struts2 框架介紹Struts2 歷史漏洞匯總(表格)Struts2-045 漏洞詳解 Log4j2Log4j2 框架介紹Log4j2 漏洞原理1. JNDI 注入2. 利用過程 Log4j2 歷史漏洞JNDILDAP 反彈 Shell 流程 Strut…

《深度關系-從建立關系到彼此信任》

陳海賢老師推薦的書,花了幾個小時,感覺現在的人與人之間特別缺乏這種深度的關系,但是與一個人建立深度的關系并沒有那么簡單,反正至今為止,自己好像沒有與任何一個人建立了這種深度的關系,那種雙方高度同頻…

sass基礎語法

Sass(Syntactically Awesome Style Sheets)是一種 CSS 預處理器,提供了比原生 CSS 更強大、更靈活的語法功能。它有兩種語法格式: Sass(縮進語法,.sass 文件)SCSS(CSS-like 語法&am…

【JavaWeb】基本概念、web服務器、Tomcat、HTTP協議

目錄 1. 基本概念1.1 基本概念1.2 web應用程序1.3 靜態web1.4 動態web 2. web服務器3. tomcat詳解3.1 安裝3.2 啟動3.3 配置3.3.1 配置啟動的端口號3.3.2 配置主機的名稱3.3.3 其他常用配置項日志配置數據源配置安全配置 3.4 發布一個網站 4. Http協議4.1 什么是http4.2 http的…

AI in Game,大模型能力與實時音視頻技術融合,交出AI應用新答卷

隨著AI的技術進步和工具普及,尤其是在這兩年的躍進之后,AI在游戲行業內的應用已經逐步由理念設想推向落地實踐。從蔡浩宇披露的AI新游《Whispers From The Star》到GDC上各大廠家呈現的游戲AI新亮點,我們看到了更多AI與游戲的結合方式&#x…