Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript识别计算机_Javascript - Fatal编程技术网

使用JavaScript识别计算机

使用JavaScript识别计算机,javascript,Javascript,我正在构建一个webapp,我可以使用一个解决方案来唯一地识别计算机用户 这样做的原因是,一旦用户登录到应用程序,他/她就可以启动与应用程序相关的多个会话(存储在mySQL中)——但是,这些会话应该只能从启动会话的计算机上获得 我不能使用cookies,因为应用程序应该允许用户关闭浏览器、重新启动计算机等,而不存在任何丢失用户会话的风险 起初,我以为我可以得到像主板系列的东西。不,不会发生的 然后我考虑根据用户的远程地址+MAC地址生成MD5哈希,直到我发现只有使用旧版本的IE和ActiveX才

我正在构建一个webapp,我可以使用一个解决方案来唯一地识别计算机用户

这样做的原因是,一旦用户登录到应用程序,他/她就可以启动与应用程序相关的多个会话(存储在mySQL中)——但是,这些会话应该只能从启动会话的计算机上获得

我不能使用cookies,因为应用程序应该允许用户关闭浏览器、重新启动计算机等,而不存在任何丢失用户会话的风险

起初,我以为我可以得到像主板系列的东西。不,不会发生的

然后我考虑根据用户的远程地址+MAC地址生成MD5哈希,直到我发现只有使用旧版本的IE和ActiveX才能实现

然后我开始思考,如果所有的Chrome安装都有某种我可以使用的独特的浏览器ID。。。我找不到任何有用的东西

关于如何基于用户计算机生成唯一字符串,有什么好主意吗

我不能使用cookies,因为应用程序应该允许用户关闭浏览器、重新启动计算机等,而不存在任何丢失用户会话的风险


当计算机重新启动时,cookie不会丢失您可以使用cookies。

您必须放松限制:即使使用,也无法保证UID不会更改和丢失

我通常的解决方案是从服务器向浏览器发送UID并将其存储在浏览器中,虽然效果很好,但不能保证。请注意,精通计算机的用户可以删除或更改它。但是,如果用户不是你的敌人,这是很好的

选择本地存储而不是cookie的原因如下:

  • 过期
  • 没有工具来“清理”它们,因为它们从一开始就受到原产地限制,因此不会破坏cookies的隐私声誉
  • 当然,javascript应用程序的界面更干净、更理智

可能重复@Quentin,不知道为什么人们不会使用用户名+密码来缩进用户…?请阅读全文。。。“原因是,一旦用户登录到应用程序,他/她就可以启动多个会话。”为什么
localstorage
比cookies更好?与localstorage不同,Cookie可以在每个浏览器上工作。在您的MDN链接中:“存储对象是标准的最新添加。因此,它们可能不会出现在所有浏览器中。”。不幸的是,有8%的互联网用户需要担心。localstorage并不是为这样的简单任务而发明的,因为这种cookie是经典的方式。当然,依我看。它们是经典的方式,这是旧的方式,但我们现在有了更干净更好的解决方案。话虽如此,我同意你的观点,cookies是一个完全有效的解决方案,你的答案是可以的。如果用户真的想搞乱UID,那没关系。我只需要一个解决方案,防止用户意外地清除cookies,从而扰乱会话。我会尽快研究你的建议:)不过,用户可以删除它们,而且它们不会在浏览器和多个用户帐户之间共享。如果它们意外丢失,则几乎不可能恢复连接(以及存储在该会话中的数据)。但对于大多数用途,饼干应该是好的。我想我们需要更多的背景知识。我不确定所有这些担心在这里都是正确的。无论如何,如果他真的想以防弹的方式缩进一个用户,用户名+密码!是的,对于大多数用途,饼干应该是好的。正如您所说,如果用户已经登录(使用用户名),那么您可以将这些内容链接到用户帐户。我想我们需要更多的上下文。每台计算机需要运行应用程序的某些部分,与其他用户/计算机分开,使用相同的应用程序可以访问。Cookies可以被删除-不够好:)@EibergDK。你为什么不给你的用户一个用户名+密码?你熟悉一个没有它就可以识别的网站\应用程序吗???