Fingerprintjs2:一款开源设备指纹采集器

华盟原创文章投稿奖励计划

       Fingerprintjs2:一款开源设备指纹采集器

  该项目将更多、更有效的来源用于指纹识别,并且可配置,也就是说用户可以选择性地开启其中的选项。该项目还将重点关注IE插件,尤其是在中国流行的QQ、Baidu等。另外,该项目使用了semver(语义化的版本控制系统)。

  安装

  使用CDN在线获取:

  https://cdnjs.com/libraries/fingerprintjs2

  使用bowerinstall命令进行安装:

bowerinstall fingerprintjs2

  使用npminstall命令进行安装:

npm installfingerprintjs2

  用例

newFingerprint2().get(function(result, components){

  console.log(result); //a hash, representingyour device fingerprint

  console.log(components); // an array of FPcomponents

});

  用户可以传递一个带有如下选项的对象:

varoptions = {swfPath: '/assets/FontList.swf', excludeUserAgent: true};

newFingerprint2(options).get(function(result){ 

 console.log(result);

});

     选项的完整列表

  由于Flash在隐身模式下是不工作的,因此默认情况下,Flash字体枚举是禁用的,并且使用JS代码获取可用的字体列表。但是,当检测到“excludeJsFonts: true”选项时该库会开始使用Flash。如果要使用Flash字体枚举,请确保swfobject可用,否则该库会直接跳过Flash部分。为了确保用户转动设备时,指纹识别的一致性,detectScreenOrientation选项默认情况下为true。所有的指纹资源都是默认可用的,因此用户不需要去特别配置。

newFingerprint2().get(function(result, components){                            

// this will use all available fingerprintingsources 

 console.log(result); 

// components is an array of allfingerprinting components used 

 console.log(components);

});

  查看本地指纹资源

  用户可以通过启动网络服务器并浏览index.html页面来查看本地指纹资源。由于Flash的ExternalInterface安全限制,index.html页面不能从本地文件系统加载。

  通过以下方式开启网络服务器:

  Ruby1.9.2+

ruby-run -e httpd . -p 8080

  Python2.x

python-m SimpleHTTPServer 8080

  Python3.x

python-m http.server 8080

  PHP5.4+

php -S0.0.0.0:8080

  指纹资源列表

  1、User Agent

  2、语言

  3、颜色深度

  4、屏幕分辨率

  5、时区

  6、是否具有会话存储

  7、是否具有本地存储

  8、是否具有索引DB

  9、IE是否指定AddBehavior

  10、是否有打开的DB

  11、CPU类

  12、平台

  13、是否DoNotTrack

  14、已安装的Flash字体列表

  15、使用JS/CSS检测到的字体列表(最多可检测到Flash之外的500种字体)

  16、Canvas指纹

  17、WebGL指纹

  18、浏览器的插件信息

  19、是否安装AdBlock

  20、用户是否篡改了语言

  21、用户是否篡改了屏幕分辨率

  22、用户是否篡改了操作系统

  23、用户是否篡改了浏览器

  24、触摸屏检测和能力

  一般情况下,JS字体检测最多可检测65种已安装的字体。用户可通过使用extendedFontList: true选项提升字体检测能力,可提升到500种。

  更多指纹资源

  1、多显示器检测

  2、Silverlight集成

  3、Flash linux内核版本

  4、内部哈希表执行检测

  5、WebRTC指纹

  6、Math常数

  7、可访问性指纹

  8、相机信息

  9、DRM支持

  10、加速器支持

  11、虚拟键盘

  12、手势列表(触摸设备)

  13、像素密度

  14、视频和音频编解码器的可用性

  FontList.swf文件的重新编译

  1、下载Adobe Flex SDK

  2、解压,向$PATH变量中添加bin/目录

  3、运行make命令

  License

  MIT或Apache

原文地址:https://hack.77169.com/201605/226850.shtm

本文原创,作者:华盟君,其版权均为华盟网所有。如需转载,请注明出处:https://www.77169.net/html/16400.html

发表回复