独特的设备识别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了独特的设备识别相关的知识,希望对你有一定的参考价值。
我们正在开发基于网络的内部应用程序,用于查看数据报告,同时针对智能手机和平板电脑。我们的客户询问我们是否只有某些设备才能访问该内容。因此,我们使用基于javascript / html5的技术,我们无法读取IMEI或设备uuid等唯一ID。我们的想法是能够使用上述技术自动创建与时间无关的设备指纹。
问题是我们能够用javascript / HTML5创建独特的设备指纹吗?
线索可能是浏览器可用或已知的信息(例如http://browserspy.dk/)
您可以使用fingerprintJS2库,它可以帮助您计算浏览器指纹。
顺便说一句,在Panopticlick上你可以看到它通常是多么独特。
看起来phoneGap插件可以让你获得设备的uid。
http://docs.phonegap.com/en/3.0.0/cordova_device_device.md.html#device.uuid
更新:这取决于运行本机代码。我们使用此解决方案编写了正在编译的javascript,用于我们正在创建的本机电话应用程序的本机代码。
我有以下想法如何处理这样的访问设备ID(ADID):
Gen ADID
- 准备网页https://mypage.com/manager-login,其中可信用户例如经理可以从设备登录 - 该页面应显示按钮“授予对此设备的访问权限”
- 当用户按下按钮时,页面向服务器发送请求以生成ADID
- server gen ADID,将其存储在白名单中并返回页面
- 然后将页面存储在设备localstorage中
- 可信用户现在注销。
使用设备
- 然后其他用户例如使用相同设备的员工转到https://mypage.com/statistics并将页面发送到服务器请求统计信息,包括参数ADID(之前存储在localstorage中)
- 服务器检查ADID是否在白名单中,如果是,则返回数据
在这种方法中,由于长时间用户使用相同的浏览器并且不重置设备,因此设备可以访问数据。如果有人进行了设备重置,那么再次信任的用户需要登录并生成ADID。
您甚至可以为受信任的用户创建一些ADID管理系统,在生成ADID的同时,他还可以输入设备序列号,并且将来在设备重置的情况下,他可以找到该设备并为其重新生成ADID(这不会增加白名单大小)也可以从白名单中删除一些ADID,用于他不再能访问服务器数据的设备。
如果系统使用多个域/子域名管理员登录后应该看到许多“从域xyz.com访问此设备”按钮 - 每个按钮将重定向设备做正确的域,gent ADID和重定向回。
UPDATE
替代Gen ADID:
- 管理员使用任何设备登录系统并生成一次性使用链接https://mypage.com/access-link/ZD34jse24Sfses3J(例如24小时工作)。
- 然后,经理将此链接发送给员工(或其他人),将该链接放入设备,服务器将ADID返回到将其存储在本地存储中的设备。在上面的链接停止工作后 - 所以只有系统和设备知道ADID
- 然后使用此设备的员工可以从https://mypage.com/statistics读取数据,因为它具有服务器白名单上的ADID
以上是关于独特的设备识别的主要内容,如果未能解决你的问题,请参考以下文章