文章正文
Javascript-浏览器指纹-fingerprintjs
【文章】2020-04-23
简介Javascript-浏览器指纹-fingerprintjs
一、什么是指纹识别
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
四、使用方法
//调用方法
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();五、示例:获取页面PV、UV,IP内容:
1、页面引入:fingerprint.js
<script type="text/javascript" src="${base}/js/fingerprint.js"></script>
2、配合jQuery使用
<script>
$(document).ready(function(){
//页面访问统计
var fingerprint = new Fingerprint().get();
$.ajax({
type: "GET",
url: base+"/statistics",
data: { finger:fingerprint,type:1},
dataType: "json",
success: function(data){ }
});
});
</script>
3、调用后台代码,保存指纹信息 copy
/**
* 写入统计详情
*/
@RequestMapping("/statistics")
public void writeStatistics(StatisticsDetails statisticsDetails, HttpServletRequest request){
String realIp = null;
String ip = request.getHeader("X-Forwarded-For");
if (ip == null) {
realIp = request.getRemoteAddr();
}else{
if(!StringUtils.isEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)){
//多次反向代理后会有多个ip值,第一个ip才是真实ip
int index = ip.indexOf(",");
if(index != -1){
realIp = ip.substring(0,index);
}else{
realIp = ip;
}
}
}
try{
statisticsDetails.setIp(realIp);
statisticsDetails.setTime_stamp(new Date());
statisticsDetailsService.statistics(statisticsDetails);
}catch(Exception e){
Logger.write(e);
}
}
打赏支持
感谢您的支持,加油!
打开微信扫码打赏,你说多少就多少
找书费时,联系客服快速获取!
在线客服8:30-22:30,若离线请留言!
获取教程,请联系在线客服!
在线客服8:30-22:30,若离线请留言!
热门阅读
-
直说微积分 是何物?有何用 项武义编著 上海:复旦大学出版社 PDF 9787513253040 出版时间:1986.pdf
直说微积分 是何物?有何用 项武义编著 上海:复旦大学出版社 PDF 9787513253040 出版时间:1986.pdf ...
-
板式换热器工程设计手册 杨崇麟 机械工业 9787111043201 PDF 出版时间:1994.11.pdf
板式换热器工程设计手册 杨崇麟 机械工业 9787111043201 PDF 出版时间:1994.11.pdf ...
-
说谎者的扑克牌华尔街的投资游戏 纪念版 (美)刘易斯著;孙忠译 北京:中信出版社 PDF 9787508640815 2013.pdf
说谎者的扑克牌华尔街的投资游戏 纪念版 (美)刘易斯著;孙忠译 北京:中信出版社 PDF 9787508640815 2013.pdf ...
-
说谎者的扑克牌 华尔街的投资游戏 畅销版 (美)迈克尔·刘易斯著;孙忠译 北京:中信出版社 PDF 9787508686783 出版时间:2018.pdf
说谎者的扑克牌 华尔街的投资游戏 畅销版 (美)迈克尔·刘易斯著;孙忠译 北京:中信出版社 PDF 9787508686783 出版时间:2018.pdf ...
-
初唐诗 (美)宇文所安(Stephen Owen)著;贾晋华译 北京:生活·读书·新知三联书店 PDF 710802165 2004.pdf
初唐诗 (美)宇文所安(Stephen Owen)著;贾晋华译 北京:生活·读书·新知三联书店 PDF 710802165 2004.pdf ...
-
初唐诗 (美)宇文所安著;贾晋华译 北京:生活·读书·新知三联书店 PDF 9787108048035 出版时间:2014.pdf
初唐诗 (美)宇文所安著;贾晋华译 北京:生活·读书·新知三联书店 PDF 9787108048035 出版时间:2014.pdf ...
-
刑事诉讼法 第7版 陈光中 北京大学出版社 PDF 9787301322901 出版时间:2021年07月.pdf
刑事诉讼法 第7版 陈光中 北京大学出版社 PDF 9787301322901 出版时间:2021年07月.pdf ...
-
证据法学 何家弘,刘品新著 北京:法律出版社 PDF 9787519729776 2019.pdf
证据法学 何家弘,刘品新著 北京:法律出版社 PDF 9787519729776 2019.pdf ...
-
证据法学 第2版 李浩主编 北京:高等教育出版社 PDF 9787040393415 2014.pdf
证据法学 第2版 李浩主编 北京:高等教育出版社 PDF 9787040393415 2014.pdf ...
-
证据法学译丛 证明 如何进行庭前证据分析 (澳)安德鲁·帕尔玛(AndrewPalmer)著 北京:中国检察出版社 PDF 9787510212550 2015.pdf
证据法学译丛 证明 如何进行庭前证据分析 (澳)安德鲁·帕尔玛(AndrewPalmer)著 北京:中国检察出版社 PDF 9787510212550 2015.pdf ...