【问题标题】:Persistent cookie normal timeout behaviour持久 cookie 正常超时行为
【发布时间】:2015-11-14 11:16:47
【问题描述】:

我正在实现一个基于 http://jaspan.com/improved_persistent_login_cookie_best_practice 的持久 cookie。

问题:

如果用户尝试访问页面。认证成功后,从数据库中删除使用的令牌。生成一个新的令牌,并与用户名和相同的系列标识符一起存储在数据库中,并向用户发出一个包含所有这三个的新登录 cookie。

当你在这里生成一个新的 cookie 时,你需要一个 cookie 的年龄,我把它设置为默认的 1 个月。因此,每次生成新 cookie 时,我应该将其设置为默认值(1 个月)还是应该在我的数据库中存储一个字段来计算到期时间(类似于 1 个月倒计时)。这里的正常行为是什么?

另一个问题,我觉得每次访问页面时删除令牌并为db生成一个新令牌有点矫枉过正。这个手术有我想象的那么贵吗?

【问题讨论】:

  • 需要更多帮助吗?
  • 当然,我欢迎任何建议。当有人分享他们的知识时,我非常感激。

标签: security cookies playframework persistence remember-me


【解决方案1】:

在服务器端和客户端都添加过期时间,否则攻击者抓取的 cookie 将永远有效。

更改令牌很好,可以帮助防止上述情况。每次页面访问似乎都有点过度,如果您的网站繁忙,可能会对性能产生影响。每 5 分钟左右刷新一次怎么样?

【讨论】:

  • 我同意,每 5 分钟似乎是一个更好的选择。在服务器端实现这一点的最佳方法是什么?存储expires(datetime) 之类的字段?并据此检查?我觉得这方面缺乏文档(cookie 时代,虽然可能是错误的)
  • 是的,我愿意。
猜你喜欢
  • 2011-12-02
  • 2014-03-25
  • 2016-07-16
  • 2021-03-21
  • 2012-07-01
  • 1970-01-01
  • 2013-04-04
  • 2016-04-24
  • 2013-03-06
相关资源
最近更新 更多