<button id="nc8ni"><xmp id="nc8ni"><button id="nc8ni"></button><ins id="nc8ni"><button id="nc8ni"><form id="nc8ni"></form></button></ins>
<button id="nc8ni"><form id="nc8ni"></form></button>
<form id="nc8ni"><xmp id="nc8ni">
<ins id="nc8ni"><button id="nc8ni"></button></ins>
<button id="nc8ni"><xmp id="nc8ni">
<ins id="nc8ni"><form id="nc8ni"><ins id="nc8ni"></ins></form></ins>
<button id="nc8ni"><xmp id="nc8ni">
<button id="nc8ni"><xmp id="nc8ni">
<button id="nc8ni"><form id="nc8ni"><ins id="nc8ni"></ins></form></button><button id="nc8ni"><form id="nc8ni"></form></button>
<button id="nc8ni"><form id="nc8ni"><ins id="nc8ni"></ins></form></button><button id="nc8ni"><xmp id="nc8ni"><button id="nc8ni"></button><form id="nc8ni"><ins id="nc8ni"><form id="nc8ni"></form></ins></form><button id="nc8ni"><xmp id="nc8ni"><ins id="nc8ni"></ins>
<button id="nc8ni"><xmp id="nc8ni"><ins id="nc8ni"></ins><form id="nc8ni"><ins id="nc8ni"><form id="nc8ni"></form></ins></form>
<ins id="nc8ni"><form id="nc8ni"></form></ins>
<button id="nc8ni"><form id="nc8ni"><ins id="nc8ni"></ins></form></button>
<button id="nc8ni"></button>
<button id="nc8ni"></button>
訂閱本欄目 RSS您所在的位置: 深山工作室 > HTML > 正文

javascript獲取瀏覽器指紋可以用來(lái)做投票

2024/8/26 11:38:17 字體: 瀏覽 14

有些網(wǎng)站是會(huì )員制,而且對會(huì )員所用的機器會(huì )有一個(gè)綁定,這就意味著(zhù)一個(gè)用戶(hù)只能在固定的機器上或瀏覽器上登陸,如果換了電腦或瀏覽器那很不幸,請聯(lián)系商家解綁,類(lèi)似的還有某些企業(yè)通過(guò)下載終端的方式進(jìn)行綁定,當然這樣對用戶(hù)體驗有很大的影響,總而言之都是為了保護企業(yè)的利益,你懂的!言歸正傳,既然說(shuō)到綁定機器,那他們是怎么實(shí)現的呢?當然方法很多,今天我們說(shuō)一下通過(guò)獲取瀏覽器指紋的方式來(lái)識別用戶(hù)是否更換了機器(嘗試用js獲取用戶(hù)物理地址的還是放棄吧,IE可能還給你點(diǎn)機會(huì ), 反正我是不想再研究了,能力有限).

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.staticfile.org/fingerprintjs2/2.1.0/fingerprint2.min.js"></script>
    <script>
        function finger() {
            let excludes = {};
            excludes.audio = true;
            excludes.fontsFlash = true;
            excludes.webgl = true;
            excludes.canvas = true;
            excludes.enumerateDevices = true;
            let options = {excludes: excludes};
            Fingerprint2.get(options, function (components) {
                const values = components.map(function (component) {
                    return component.value
                });
                const murmur = Fingerprint2.x64hash128(values.join(''), 31);
                alert(murmur)
            });
        }
    </script>
</head>
<body>
<button onclick="finger()">點(diǎn)擊</button>
</body>
</html>


代碼很簡(jiǎn)單,有點(diǎn)前端基礎的都能看懂,這里主要是利用了前端 fingerprint2這個(gè)庫來(lái)實(shí)現,這里我主要通過(guò)audio,fontsFlash,webgl,canvas,enumerateDevices這幾項來(lái)識別的,返回的是一個(gè)MD5值,可以嘗試清除緩存刷新,發(fā)現它是不會(huì )變化的,如果換個(gè)瀏覽器或換臺機器,它會(huì )返回不同的值,當然配置項不止這幾個(gè),可以根據自己的實(shí)際情況配置,獲取到用戶(hù)瀏覽器指紋再加上用戶(hù)的ip就可以防止用戶(hù)使用代理ip對信息進(jìn)行采集,具體實(shí)現也不多說(shuō)了.

userAgent: navigator.userAgent
language: 語(yǔ)言
colorDepth: 返回目標設備或緩沖器上的調色板的比特深度 screen.colorDepth
deviceMemory: 以千兆字節為單位返回設備內存量。該值是通過(guò)舍入到最接近的2的冪并將該數除以1024而給出的近似值
pixelRatio: 像素比 devicePixelRatio
hardwareConcurrency: navigator.hardwareConcurrency 返回可用于運行在用戶(hù)的計算機上的線(xiàn)程的邏輯處理器的數量
screenResolution: 檢測屏幕寬高,并根據屏幕方向矯正返回值[width,height]
availableScreenResolution: 返回屏幕分辨率[width,height],無(wú)頭瀏覽器無(wú)法獲取
timezoneOffset: 返回從當前區域設置(主機系統設置)到UTC的時(shí)區差異(以分鐘為單位)
timezone: 時(shí)區
sessionStorage: 是否支持 sessionStorage,不支持時(shí)返回錯誤
localStorage: 是否支持 localStorage
indexedDb: 是否支持 indexedDb
addBehavior :此時(shí)可能未定義body或以編程方式刪除
openDatabase: 返回是否支持 Web SQL
cpuClass: 返回瀏覽器系統的 CPU 等級,一般無(wú)法獲取
platform: 返回表示瀏覽器平臺的字符串,該規范允許瀏覽器始終返回空字符串,因此不要依賴(lài)此屬性來(lái)獲得可靠的答案
doNotTrack: 返回用戶(hù)的“不跟蹤”設置。如果用戶(hù)請求不被網(wǎng)站,內容或廣告跟蹤,則為“1”
plugins: 返回瀏覽器安裝的插件列表
canvas: 如果瀏覽器支持canvas則返回生成baes64數據
webgl: 返回瀏覽器對webgl繪圖協(xié)議的支持情況匯總
webglVendorAndRenderer: 返會(huì )顯卡型號相關(guān)信息
adBlock: 返回是否安裝去廣告插件
hasLiedLanguages: 返回用戶(hù)是否改變了首選語(yǔ)言
hasLiedResolution: 返回用戶(hù)是否改變了分辨率
hasLiedOs: 返回用戶(hù)是否改變了操作系統
hasLiedBrowser: 返回用戶(hù)是否改變了瀏覽器
touchSupport: 返回最大觸摸點(diǎn)數,是否支持touch,是否支持ontouchstart事件
fonts: 返回從64種字體種篩選出的可用字體
fontsFlash: Flash字體枚舉,如果沒(méi)有swfobject,不會(huì )觸發(fā)
audio: 返回音頻指紋
enumerateDevices: navigator.mediaDevices 請求可用媒體輸入和輸出設備的列表,例如麥克風(fēng),相機,耳機等


前一頁(yè):沒(méi)有了
相關(guān)閱讀
旅行社網(wǎng)站模板3
留言板留言板V7.0
耒陽(yáng)華天國際旅行社
13種樣式檢測QQ是否在線(xiàn)的代碼
使用uiautomatorviewer連接模擬器頁(yè)面報錯No Android devices were detected by adb.
JS+CSS實(shí)現圖片放大預覽效果(購物時(shí)放在產(chǎn)品上面預覽圖片)
一些關(guān)于素材的網(wǎng)站
表單正則表達式
共有0條關(guān)于《javascript獲取瀏覽器指紋可以用來(lái)做投票》的評論
發(fā)表評論
正在加載評論......
返回頂部發(fā)表評論
呢 稱(chēng):
表 情:
內 容:
評論內容:不能超過(guò) 1000 字,需審核,請自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)政策法規。
驗證碼: 驗證碼 
網(wǎng)友評論聲明,請自覺(jué)遵守互聯(lián)網(wǎng)相關(guān)政策法規。

您發(fā)布的評論即表示同意遵守以下條款:
一、不得利用本站危害國家安全、泄露國家秘密,不得侵犯國家、社會(huì )、集體和公民的合法權益;
二、不得發(fā)布國家法律、法規明令禁止的內容;互相尊重,對自己在本站的言論和行為負責;
三、本站對您所發(fā)布內容擁有處置權。

更多信息>>欄目類(lèi)別選擇
百度小程序開(kāi)發(fā)
微信小程序開(kāi)發(fā)
微信公眾號開(kāi)發(fā)
uni-app
asp函數庫
ASP
DIV+CSS
HTML
python
更多>>同類(lèi)信息
javascript獲取瀏覽器指紋可以用來(lái)做投票
火狐Mozilla Firefox出現:無(wú)法載入您的Firefox配置文件 它可能已經(jīng)丟失 或是無(wú)法訪(fǎng)問(wèn) 問(wèn)題解決集合處理辦法
DW設置之后更好用 DreamweaverCS編輯GB2312與UTF-8文件在代碼視圖中點(diǎn)擊鼠標錯位問(wèn)題的解決辦法
js指定日期加n天加n月加n年
jquery中動(dòng)態(tài)生成的代碼使用on hover事件時(shí)不出現效果
iframe里阻止_blank彈出新窗口的方法
更多>>最新添加文章
抖音直播音掛載小雪花 懂車(chē)帝小程序
javascript獲取瀏覽器指紋可以用來(lái)做投票
火狐Mozilla Firefox出現:無(wú)法載入您的Firefox配置文件 它可能已經(jīng)丟失 或是無(wú)法訪(fǎng)問(wèn) 問(wèn)題解決集合處理辦法
在A(yíng)ndroid、iOS、Windows、MacOS中微信小程序的文件存放路徑
python通過(guò)代碼修改pip下載源讓下載庫飛起
python里面requests.post返回的res.text還有其它的嗎
aliyun阿里云續費域名優(yōu)惠口令(注冊、續費都可以使用)
windows7環(huán)境下安裝配置jdk
更多>>隨機抽取信息
深山留言板5.0新版
動(dòng)態(tài)返回selected選擇框的代碼說(shuō)明
萬(wàn)家樂(lè )櫥柜網(wǎng)站
微信小程序騰訊視頻播放組件tencentvideo(wxa75efa648b60994b)
點(diǎn)擊密碼框彈出小鍵盤(pán)
ASP+Access隨機讀取數據庫記錄的方法
亚洲精品456在线|S级爆乳玩具酱国产VIP皮裤|欧美成人精品第一区二区三区|久久永久免费人妻精品我不卡|亚洲欧洲日产无码
<button id="nc8ni"><xmp id="nc8ni"><button id="nc8ni"></button><ins id="nc8ni"><button id="nc8ni"><form id="nc8ni"></form></button></ins>
<button id="nc8ni"><form id="nc8ni"></form></button>
<form id="nc8ni"><xmp id="nc8ni">
<ins id="nc8ni"><button id="nc8ni"></button></ins>
<button id="nc8ni"><xmp id="nc8ni">
<ins id="nc8ni"><form id="nc8ni"><ins id="nc8ni"></ins></form></ins>
<button id="nc8ni"><xmp id="nc8ni">
<button id="nc8ni"><xmp id="nc8ni">
<button id="nc8ni"><form id="nc8ni"><ins id="nc8ni"></ins></form></button><button id="nc8ni"><form id="nc8ni"></form></button>
<button id="nc8ni"><form id="nc8ni"><ins id="nc8ni"></ins></form></button><button id="nc8ni"><xmp id="nc8ni"><button id="nc8ni"></button><form id="nc8ni"><ins id="nc8ni"><form id="nc8ni"></form></ins></form><button id="nc8ni"><xmp id="nc8ni"><ins id="nc8ni"></ins>
<button id="nc8ni"><xmp id="nc8ni"><ins id="nc8ni"></ins><form id="nc8ni"><ins id="nc8ni"><form id="nc8ni"></form></ins></form>
<ins id="nc8ni"><form id="nc8ni"></form></ins>
<button id="nc8ni"><form id="nc8ni"><ins id="nc8ni"></ins></form></button>
<button id="nc8ni"></button>
<button id="nc8ni"></button>