Javascript 设备/浏览器注册

Javascript 设备/浏览器注册,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我需要开发一个应用程序来注册用户正在使用的设备/浏览器。比如银行,或者更好的是FB。因此,例如,当一个人登录应用程序时,会检查他们以前是否使用该设备/浏览器登录。如果没有,则让他们通过验证过程 该应用程序将在.NET4、Asp.NETMVC、js、jQuery等中构建 我希望得到一些关于其他人用来完成这项任务的建议 编辑 谢谢你的评论 好的,所以基本上,如果我理解正确,这两个建议都意味着在笔记本电脑/设备上的cookie/localStorage中存储一个uniqueid,也在我的DB中,以便我

我需要开发一个应用程序来注册用户正在使用的设备/浏览器。比如银行,或者更好的是FB。因此,例如,当一个人登录应用程序时,会检查他们以前是否使用该设备/浏览器登录。如果没有,则让他们通过验证过程

该应用程序将在.NET4、Asp.NETMVC、js、jQuery等中构建

我希望得到一些关于其他人用来完成这项任务的建议

编辑

谢谢你的评论

好的,所以基本上,如果我理解正确,这两个建议都意味着在笔记本电脑/设备上的cookie/localStorage中存储一个uniqueid,也在我的DB中,以便我将来能够识别它

我希望能够从机器/设备获得一个唯一的ID,该ID是静态的,并且特定于机器/设备,以便我可以使用它来跟踪它。我的概念是,一个用户将拥有我登录的多个设备/机器


我还将捕获IP,但我不想使用该密钥来识别用户。

从浏览器获得精确唯一标识符的机会微乎其微。提供唯一标识符字符串的浏览器存在许多隐私风险。但是,您始终可以为用户建立的会话生成随机GUID,并将其存储为localStorage或cookie。

使用localStorage-这是适用于HTML5的cookie的较新版本。您可以签出“用户代理字符串”和/或设置cookie。但是,两者都可以被操纵/删除(例如,由于到期),因此您无法100%确定。但是,根据您的使用情况,我认为这不一定是一个问题。@NischaalCoray:嗯,不,localStorage不是“用于HTML5的Cookie的更新版本”。它可以像cookie一样在客户端存储数据,但这就是相似性的终点。不过,最主要的区别是cookie数据被发送到服务器,而localStorage数据只发送到客户端。是的,谢谢,这也是评论中建议的。我从来没有试过这个,所以我不确定是否有可能的方法。@ChampChris,你从哪里得到这个。我的客户也有类似的要求,他们希望跟踪每个订户使用其服务的设备数量。困难在于服务在浏览器中运行。似乎所有可能相关的html5 api都是浏览器绑定的,只有一个例外文件系统api已被弃用,并且仅在Chrome上实现。我总结了两种可能的方法-ActiveX/Applet/Flash(yuk!)-客户端证书:证书需要存储在通用操作系统密钥存储中。通过尝试握手来测试设备的唯一性,握手取决于cert@diarmuid我现在记不清了。我知道我没有使用本地存储。如果我没有看代码,但没有记错的话,我所做的是存储所有浏览器信息(在Request.browser对象中),并将其保存到用户和登录尝试中,该登录尝试也有IP地址,这样我就知道用户登录的每个浏览器和每个IP,因此如果浏览器未被识别,我会提示他们使用安全密钥进行验证,并使用名称注册浏览器。希望有帮助。