1
我有一个拥有表单身份验证的网站:取消激活数据库中未使用的会话ID?
1)用户登录并选择是否让他登录。
2)服务器生成令牌,将其保存到数据库并向浏览器发送令牌cookie。
注意,当用户选择不保留登录,当他关闭浏览器,令牌cookie将到期,如果用户选择保持登录状态,他在登录后,令牌cookie将到期的一年。
3)当用户注销时,服务器将停用保存在数据库中的令牌并删除浏览器中的令牌cookie。
问题是,如果用户选择不保持登录状态,如果他关闭浏览器,令牌cookie将过期,但保存在数据库中的令牌不会被停用 - 服务器将不知道用户是否关闭了他浏览器。
我该如何取消未使用的令牌在我的数据库?
我生成会话ID(令牌),将其保存到数据库并将其作为cookie发送到浏览器。当用户访问我的网站时,我检查了他的会话cookie并在我的数据库中找到匹配项。我与谷歌或Facebook的有什么不同? – dpp
你还需要在你的数据库中写入一些到期时间戳,用于令牌,并在登录时进行测试。您不需要从数据库中删除令牌,只需保留最后一个(每个用户一个)。当然,你不需要为匿名会话创建令牌....否则你的数据库将爆炸:) –