实现记住我 - 令牌和系列

时间:2011-09-19 04:34:59

标签: php

这篇SO文章中使用的系列和令牌名称是什么? - the best way to implement remember me

我理解随机数的概念用于确定用户是否应该被记住...它有点像隐藏登录....用户名/令牌(令牌存储在cookie中)而不是用户名密码。但是系列标识符是什么?它如何适应身份验证的大局。两者如何协同工作?

1 个答案:

答案 0 :(得分:7)

跟踪令牌更改的这个确切“链”所需的系列令牌属于同一用户。

以下是重要的示例:

让我们假设网站使用这样的“记住我”实现。您已使用名称A,系列标识符B和令牌C登录。之后我偷了您的cookie(无论如何)。

所以我们现在都有A:B:C三联体。

现在你过了一段时间进入网站(我还没有进入)。现场检查是否存在A:B:C三联体。是的,它确实。所以它从DB中删除它并创建另一个,A:B:D。

现在我尝试使用A:B:C进入。好吧,用户A的系列B存在,但令牌部分与C!= D不匹配。这意味着cookie已被盗,并且两个令牌现已立即失效(并且用户被告知可能的cookie劫持)