通过Web应用程序获取设备物理身份

时间:2016-01-10 17:08:12

标签: javascript html

出于法律目的,我需要找到一种方法来获取登录到我的Web应用程序的设备的“一对一”身份。

通常情况下,我会通过短信或电子邮件发布网址,最终用户会在其默认浏览器中打开该链接。

我知道电话号码不能保持一致。 另外,我不会动手进入flash / active-X对象。

还有其他方法吗? 感谢。

4 个答案:

答案 0 :(得分:1)

您无法使用HTML / js获取IMEI或设备uuid等唯一ID,但您可以创建设备指纹。检查fingerprint2.js lib:https://github.com/Valve/fingerprintjs2

答案 1 :(得分:0)

无法确保Web应用程序中的设备标识。

你只能猜测浏览器告诉你的是什么(我可以给你一些相关的东西)。但它总是被客户伪造。

当你在谈论flash时,你可以用flash / java-applets,一些信息here来做。但这与浏览器插件有关,许多客户可能没有。

答案 2 :(得分:0)

当有人访问您的网站时,您可以获取他的基本信息,例如浏览器身份和他的IP地址。因为这些属性是由用户的浏览器推送到访问过的页面。您无法获得任何其他信息。

答案 3 :(得分:0)

您的法律要求和使用案例究竟是什么?

  • 您是否使用注册设备跟踪注册用户?
  • 您是否可以控制设备(例如公司手机或笔记本电脑)?
  • 您是否正在处理使用未知设备的自助注册用户?
  • 识别需要多准确:准确或近似/基于风险?

不幸的是,设备标识不是通过Web浏览器提供的。你能想象这种功能对隐私的影响吗?广告商和政府机构都会喜欢它,其他人都会讨厌它。

一些组织使用商业产品,尝试使用一系列技术进行“设备指纹识别”,包括地理定位,IP,浏览器和设备特性,例如:分辨率,Flash或Silverlight(如果已安装),那种东西。然而,这些是银行等使用的基于风险的方法,以确定他们之前是否看过设备,如果没有,则会推动用户提供额外的身份验证(升级身份验证) )。这不是保证,它只是通过简化登录过程为识别用户提供便利。

这与你要求的不同。正如其他用户所说,这基本上是不可能的,因为通过浏览器提供的所有信息基本上都是可欺骗的,并且本质上是不可靠的。例如,如果用户使用不同的浏览器,或者将笔记本电脑插入带有显示器的扩展坞,即使是单个系统也可能会出现多个指纹。

您可以做的最好的事情就像您建议的那样:使用该设备独有的东西(例如手机号码)向设备发送一次性代码,但即使这样也可以很容易地绕过。这也取决于您如何首先找到并验证设备。

如果您只处理预先注册的移动设备,则可能有机会,例如您可以使用在移动设备上注册自定义URI处理程序的本机应用程序从服务器接收一次性代码,然后应用程序打开系统浏览器的自定义链接并传入此代码和一些设备ID,如IMEI(哈希)到你的网络服务器。

但是,如果您希望能够识别PC,Mac或任何其他支持Web的设备,而您在操作系统级别无法控制某些内容,那么您可能会很困难。