【问题标题】:Managing Multiple Access to a User account in a web app using Cookie使用 Cookie 在 Web 应用程序中管理对用户帐户的多次访问
【发布时间】:2013-03-23 21:04:41
【问题描述】:

在可能的 Rails Web 应用程序中,我需要在用户身份验证中启用更多控制,例如注册后的用户是否拥有特定的登录凭据。所以他/她应该只能从特定系统(PC)登录。这可以防止其他用户登录,即使他们知道特定用户的凭据。我们可以为此目的使用 Cookie 吗?如果我们从特定 PC 访问特定 Web 应用程序,Cookie 是否总是唯一的?帮助我找到更好的解决方案。

感谢广告:)-

【问题讨论】:

    标签: ruby-on-rails security authentication cookies


    【解决方案1】:

    在我看来,当您别无选择时,请谨慎使用 cookie。

    在这种特殊情况下(即识别一台 unic 计算机),我认为您可以通过 2 个解决方案来识别它:

    • 一个愚蠢的cookie,价值你知道。 cookie 的问题在于,用户可以简单地将 cookie 值复制/粘贴到另一台计算机上以获得相同的访问权限。
    • 根据计算机数据计算的唯一密钥。您可以使用这台计算机上的一些可访问信息来创建它:浏览器、浏览器插件、浏览器版本、操作系统等。该密钥现在可以存储为 cookie。关于您的识别功能,您必须检查此密钥是否有效。复制过去无效,因为源信息不一样。这个解决方案的主要问题是它“太”安全了:如果用户更换浏览器、添加插件、更改浏览器版本,计算密钥的功能将根本不起作用。

    这是我使用的第二个解决方案,例如 Rails Browser Detection Methodshttps://github.com/josh/useragent

    【讨论】:

    • 用户如何通过复制/粘贴 cookie 值从不同的系统使用相同的凭据登录?它是如何工作的?
    【解决方案2】:

    您可以在 cookie 中存储安全令牌(md5 哈希或其他),并检查它的访问权限。

    【讨论】:

      猜你喜欢
      • 2011-02-19
      • 2011-10-22
      • 2015-07-23
      • 2012-07-26
      • 1970-01-01
      • 2015-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多