使用Cookie管理Web应用程序中对用户帐户的多重访问

时间:2013-04-02 14:10:30

标签: ruby-on-rails security authentication cookies

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

谢谢你的推荐:) -

2 个答案:

答案 0 :(得分:1)

在我看来,当你没有其他选择时,请谨慎使用cookies。

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

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

这是我使用的第二个解决方案,其中包含此信息,例如Rails Browser Detection Methodshttps://github.com/josh/useragent

答案 1 :(得分:0)

您可以在Cookie中存储安全令牌(md5哈希或其他内容),并检查它是否可以访问。