登录令牌应该过期吗?

Should login tokens expire?

我开发了一个应用程序,包括一个 Web 后端,提供通过电子邮件和密码或令牌登录的方法。通过电子邮件登录时,服务器会在用户记录中存储一个令牌,该令牌会在 30 天后失效。然后可以使用此令牌自动登录,而无需每次都再次输入电子邮件和密码。至少 30 天。

现在我的问题是:令牌真的有必要过期吗?如果是,为什么?

再见

这取决于您的应用程序的安全要求。请记住,在有人登录到应用程序后,其他人可能会出现并使用为原始用户创建的令牌登录。

可用性答案是 "No, it should not expire", 安全答案是 "Yes, it should definitely expire"

原因:弱身份验证和会话管理在 OWASP 十大 (1) 中排名第二。防御会话劫持和其他基于会话的攻击的常见最佳做法是会话过期。这样,被盗、预测或暴力破解令牌的影响就会减少。它还减少了攻击者必须 "break" 令牌的时间。 您可以在此处找到关于会话过期的一个很好的总结:(2)