什么是保持登录网站的可接受技术?

nos*_*nos 5 security cookies

您可以登录的大多数网站也提供该功能,以便在会话之间记住您.实施该技术的可接受和安全技术是什么?(你在cookies中放了什么,你如何在服务器/数据库上处理它?)

0su*_*ain 5

Spring Security 3.0 最近的2009年章节讨论了Remember-Me类型身份验证.一般概念并非特定于Spring Security,因此即使您不使用它也应该能够从中受益.本章还引用了Barry Jaspan 2006年的博客文章,这是对Charles Miller 2004年博客文章中描述的技术的改进.

博客文章主要归结为:

  1. 当用户使用"记住我"选中成功登录时,除了标准会话管理cookie之外,还会发出登录cookie.

    • 登录cookie包含用户的用户名,系列标识符和令牌.系列和令牌是来自适当大空间的不可取的随机数.这三个都存储在数据库表中.

    • 当未登录的用户访问该站点并显示登录cookie时,将在数据库中查找用户名,系列和令牌.

    • 如果存在三元组,则认为用户已通过身份验证.使用的令牌将从数据库中删除.生成新令牌,使用用户名和相同的系列标识符存储在数据库中,并向用户发出包含所有三个的新登录cookie.
    • 如果存在用户名和系列但令牌不匹配,则假定盗窃.用户收到强烈警告的警告,并删除所有用户记住的会话.
    • 如果用户名和系列不存在,则忽略登录cookie.