0

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

感谢广告:)-

4

2 回答 2

1

我认为,当您没有其他选择时,请谨慎使用 cookie。

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

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

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

于 2013-04-02T14:20:58.760 回答
0

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

于 2013-04-02T14:13:44.007 回答