10

这是另一个问题的一个分支: 为网站实施“记住我”的最佳方式是什么?

最佳答案是实现这一点:http: //jaspan.com/improved_persistent_login_cookie_best_practice

总结:

使用一个随机数作为系列令牌,另一个作为登录令牌。将它们与用户名一起放在保持登录状态 cookie 中。分配第二个正常的会话 cookie。每次用户在没有会话 cookie 的情况下到达时,使用保持登录 cookie。发行一个新的,这次使用新的随机登录令牌,保持系列令牌相同。

为什么要包含用户名?这有什么帮助?系列令牌应该足以识别用户和系列。在这种方法中添加了系列令牌以防止 DoS 攻击,在这种攻击中,攻击者只需猜测所有用户名并立即访问该站点,从而将所有人登出。但是为什么保留用户名有意义呢?

4

2 回答 2

0

在发出新的会话 cookie 之前,用户名和号码会在服务器上成对查找。如果没有用户名,它的安全性会降低(如果你偷了号码,可能会使用不同的用户重播)并且更难查找。

于 2012-06-09T01:05:46.123 回答
0

我对此的猜测:

用户名用于审核。如果您要求客户端将其与令牌一起发送以进行身份​​验证,那么您就知道哪个用户尝试进行身份验证。这使您可以以某种理智的方式对令牌错误做出反应。

如果您只在身份验证期间请求令牌,那么您不知道哪个用户实际尝试了它,并且在匹配时只授予某人访问权限,但在失败时无法执行任何操作。有人可以尝试盲目地检查它们。

考虑到这一点,假设我们决定同时使用用户名和令牌。现在,如果令牌错误,我们可以删除该用户的所有其他令牌。但这会将系统打开到 DOS。攻击者可以随意注销任何人。因此,添加了该系列。

它不一定是用户名,其他一些可以识别用户的信息也可以。

于 2015-10-30T09:53:07.937 回答