<thead id="jxdzp"><address id="jxdzp"><pre id="jxdzp"></pre></address></thead>

<em id="jxdzp"><span id="jxdzp"></span></em>

    <listing id="jxdzp"><nobr id="jxdzp"><meter id="jxdzp"></meter></nobr></listing>

      <address id="jxdzp"></address>
      <noframes id="jxdzp"><form id="jxdzp"><th id="jxdzp"></th></form>
      <noframes id="jxdzp"><form id="jxdzp"><th id="jxdzp"></th></form>

          訂閱本欄目 RSS您所在的位置: 深山工作室 > HTML > 正文

          javascript獲取瀏覽器指紋可以用來做投票

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

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

          <!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()">點擊</button>
          </body>
          </html>


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

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


          相關閱讀
          正則替換回車換行符和把br替換成回車換行符
          asp利文本文檔加FSO統計網站訪問量的方法
          IE6.0, IE7.0和FireFox瀏覽器css樣式兼容
          radio組選擇詳細
          在Android、iOS、Windows、MacOS中微信小程序的文件存放路徑
          深山行者留言系統V2.3
          深山網吧留言板系統v4.0
          上海石化旅行社
          共有0條關于《javascript獲取瀏覽器指紋可以用來做投票》的評論
          發表評論
          正在加載評論......
          返回頂部發表評論
          呢 稱:
          表 情:
          內 容:
          評論內容:不能超過 1000 字,需審核,請自覺遵守互聯網相關政策法規。
          驗證碼: 驗證碼 
          網友評論聲明,請自覺遵守互聯網相關政策法規。

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

          更多信息>>欄目類別選擇
          百度小程序開發
          微信小程序開發
          微信公眾號開發
          uni-app
          asp函數庫
          ASP
          DIV+CSS
          HTML
          python
          更多>>同類信息
          dw里面查找替換使用正則刪除sqlserver里面的CONSTRAINT
          javascript獲取瀏覽器指紋可以用來做投票
          火狐Mozilla Firefox出現:無法載入您的Firefox配置文件 它可能已經丟失 或是無法訪問 問題解決集合處理辦法
          DW設置之后更好用 DreamweaverCS編輯GB2312與UTF-8文件在代碼視圖中點擊鼠標錯位問題的解決辦法
          js指定日期加n天加n月加n年
          jquery中動態生成的代碼使用on hover事件時不出現效果
          更多>>最新添加文章
          dw里面查找替換使用正則刪除sqlserver里面的CONSTRAINT
          Android移動端自動化測試:使用UIAutomatorViewer與Selenium定位元素
          抖音直播音掛載小雪花 懂車帝小程序
          javascript獲取瀏覽器指紋可以用來做投票
          火狐Mozilla Firefox出現:無法載入您的Firefox配置文件 它可能已經丟失 或是無法訪問 問題解決集合處理辦法
          在Android、iOS、Windows、MacOS中微信小程序的文件存放路徑
          python通過代碼修改pip下載源讓下載庫飛起
          python里面requests.post返回的res.text還有其它的嗎
          更多>>隨機抽取信息
          Object.assign的一些用法
          購買系統多久可以安裝?
          如何提高網站的PR值
          澳游網
          名揚石化
          利用javascript高亮關鍵詞并且加上鏈接系列 2
          88国产精品视频一区二区三区