唯一检测客户端的最佳方法是什么?

时间:2013-01-27 05:14:48

标签: java client detection

我想唯一地检测我的客户端以记录一些独特的信息。 什么是最好的方法,基于我的研究发现MAC地址是不可能的,OS生成的硬盘序列号与制造序列号不同。 你有什么建议?这些技术是struts(jsp),spring和hibernate。

2 个答案:

答案 0 :(得分:5)

我建议你不要。

假设客户端实际上是Web浏览器(因为您使用的是struts),则无法可靠地识别客户端IP地址......浏览器沙箱将阻止您获取任何其他信息识别机器。

我能想到的最好建议是要求用户安装客户端SSL证书,并配置您的服务以请求/要求浏览器提供HTTPS连接的客户端证书。例如,此页面介绍了如何使用Tomcat执行此操作 - http://www.tomcatexpert.com/knowledge-base/client-certificate-authentication-tomcat

当然,客户端SSL证书假设用户愿意安装一个。没有用户......或管理他/她的机器的人员的合作,你无法实现这一点。

答案 1 :(得分:1)

可以根据panopticlick收集的信息类型进行一些浏览器指纹识别:系统字体,浏览器类型等。您也可以将Cookie放入系统中,并且有很长的到期日期,以及只要他们保持cookie,它就会识别出该浏览器。

尽管如此,这是一种非常谨慎的方式来收集有关访客的信息。