您是否更改了经过cookie验证的用户的身份验证令牌?如果是这样,多久一次?

时间:2009-01-28 14:46:12

标签: security authentication authorization

当用户登录时,我给他们一个名为auth的cookie,其值为GUID,在2周后到期。我将散列的GUID保存在数据库中,其中包含其userID的salt,然后在其到期时保存日期。当用户访问该站点时,我会检查cookie并将其登录,如果它匹配且未在数据库中过期。

在2周之前的某个时刻,我正在考虑更新行并增加过期日期。你经常这样做吗?每个页面请求似乎都经常出现,因为我将不断写入用户表。

此时我还在考虑更改auth cookie值。这样做的缺点是您无法在多台计算机/浏览器中进行身份验证。

我可以通过会话cookie完成此操作,因此每次会话只会发生一次重写。当用户访问页面时,我会检查名为authenticated的会话cookie。如果不存在,我会给他们一个新的auth cookie值和身份验证会话cookie,并在DB和auth cookie中暂停到期时间。如果是,我只是验证auth cookie。

似乎StackOverflow在注销并重新登录之前永远不会更改其身份验证cookie。这似乎使其更容易受到会话劫持的影响 - 如果您获得了身份验证cookie,则可以访问用户帐户,直到他们登录再次。由于他们的身份验证cookie不会过期或更改,因此您登录时不会注销用户。

  • 您是否允许用户从多个位置/浏览器登录?
  • 如果没有,您多久更改一次身份验证令牌?

2 个答案:

答案 0 :(得分:0)

这取决于安全级别,我工作的地方通常必须有点高。

  1. 不,我们不允许人们从多个浏览器登录。
  2. 我们让人们在20分钟不活动后再次登录。根据您在计时时的准确程度,此人确定您更新令牌的频率。每当用户将帖子发回系统时,我就会更新到期时间。

答案 1 :(得分:0)

Hrm我在这里找到了所有的答案。看起来我需要一个联接表>。<。

http://fishbowl.pastiche.org/2004/01/19/persistent_login_cookie_best_practice/