FingerprintJS - 在瀏覽器端實現指紋識別


  FingerprintJS 是一個快速的瀏覽器指紋庫,純 JavaScript 實現,沒有依賴關系。默認情況下,使用 Murmur Hash 算法返回一個32位整數。Hash 函數可以很容易地更換。

 

 

官方網站      立即下載

 

什么是指紋識別

  FingerPrint 即我們常說的指紋識別,使用手指和拇指前端的紋理按下的紋印來鑒定身份。指紋是鑒別身份的一種可靠的方法,因為每個人的每個指頭上的紋理排列各不相同而且不因發育或年齡而改變。

  什么是瀏覽器指紋? 

  其實這是 Electronic Frontier Foundation 研究出來的技術,可以匿名識別 Web 瀏覽器,准確率高達94%。通過查詢瀏覽器的代理字符串,屏幕色深,語言,插件安裝與支持的 MIME 類型,時區偏移量和其他功能,如本地存儲和會話存儲等等,然后這些值通過散列函數傳遞產生指紋,不需要通過 Cookie 存儲就可以識別瀏覽器。

IE瀏覽器的識別

  通過檢測瀏覽器安裝的插件來識別是瀏覽器指紋重要的特征,然后在 IE 瀏覽器中,不可能只去檢測瀏覽器列表和它們的 MIME 類型,因此需要設置 ie_activex: true 選項,這樣 FingerprintJS 將會檢測一下插件:

  • Adobe Reader
  • Adobe Flash Player
  • Apple QuickTime
  • Real player (all versions)
  • Shockwave player
  • Windows Media Player
  • Microsoft Silverlight
  • Skype ClickToCall

安裝和使用 

Bower

bower install fingerprint 

NPM

npm install fingerprintjs

Ruby-on-Rails

如果是 Rails 項目,添加下面代碼到 Gemfile 中:

gem 'fingerprintjs-rails'

然后運行:

bundle install

就可以把文件添加到 sprockets 了:

//= require fingerprint

手動安裝

把 fingerprint.js 文件拷貝到項目中。

調用方法

var fingerprint = new Fingerprint().get();

如果你想使用 Canvas FingerPrinting,則如下調用:

var fingerprint = new Fingerprint({canvas: true}).get();

如果你想使用屏幕分辨率計算指紋,則需如下調用:

var fingerprint = new Fingerprint({screen_resolution: true}).get();

使用自定義的哈希函數

var my_hasher = new function(value, seed){ return value.length % seed; };
var fingerprint = new Fingerprint({hasher: my_hasher}).get();

或者直接傳遞方法:

var my_hasher = new function(value, seed){ return value.length % seed; };
var fingerprint = new Fingerprint(my_hasher).get();

 

您可能感興趣的相關文章

 

本文鏈接:FingerprintJS - 瀏覽器端實現指紋識別的 JS 庫

編譯來源:夢想天空 ◆ 關注前端開發技術 ◆ 分享網頁設計資源


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM