在用户端删除cookie时删除redis中的会话条目

时间:2016-07-30 13:19:43

标签: node.js express redis

我有以下情况:

用户通过connect-redis登录会话条目,该会话条目有效期为2周。用户现在可以使用存储在应用程序中的会话ID访问应用程序的某些部分。

现在,如果1.用户在浏览器中删除该cookie(使用会话)并且2.再次登录 - 现在Redis中有2个会话条目与同一个用户关联,旧的会话条目已过时。< / p>

处理此类旧/过时会话的最佳方法是什么?我应该使用客户端库来进行redis,搜索所有会话以查找与当前登录用户的信息匹配的会话(在她可能手动删除cookie之后),并清除这些过时的会话;还是有更好的方法?

格拉西亚斯,

nik

1 个答案:

答案 0 :(得分:1)

这取决于这是否(用户删除cookie)是一种常见的情况,如果是,则服务器中是否存在过时cookie的问题。

我能想到的两个潜在的“问题”是:

  1. 安全性 - 陈旧的Cookie是否可能被恶意利用?我不明白这是怎么可能的,但我可能错了(tm)。
  2. 存储 - 过时的cookie占用了太多(RAM)资源?如果有很多过时的cookie并且每个cookie都足够大,这可能会成为一个问题。
  3. 除非1或2适用于您的用例,否则我不明白为什么您要经历“手动”清理旧cookie的麻烦。假设您为每个会话(2周?)提供ttl值,过期的cookie将在该时间段后自动清除,因此无需采取额外措施来处理这些问题。