【问题标题】:Play 2.3 cookie remains usable after expirationPlay 2.3 cookie 过期后仍然可用
【发布时间】:2016-06-26 04:20:23
【问题描述】:

我有一个 Play 2.3.7 应用程序,我已经配置了 session.maxAge 值。身份验证是通过会话中的令牌完成的。如果我登录,允许maxAge 持续时间通过,并尝试调用端点,我会得到预期的 401。但是,如果我在 cookie 仍然有效的时候从浏览器中复制它,让它过期,然后手动将 cookie 添加回浏览器的 cookie,那么 cookie 似乎又可以工作了。

我的问题是:

  1. cookie 过期时间是否仅在浏览器上强制执行?
  2. 如果是这样,是否让开发人员永久过期 cookie 如果需要?

【问题讨论】:

    标签: scala security playframework session-cookies


    【解决方案1】:

    简答题

    1. 是的
    2. 是的

    详情

    看起来您只是进行了简单的身份验证,因此您将所有会话信息存储在 cookie 中。播放仅确保 cookie 已正确签名。就这样。因此,如果您将复制并粘贴相同的 cookie,那么是的 - 它会起作用,是的 - 它会永远起作用(直到您更改服务器端的密钥)

    更多

    请阅读@biesior 对此问题的回答 Play framework how do sessions and cookies work?

    【讨论】:

    • 非常感谢!那么,如果会话最大年龄仍然可用,那么它到底有什么意义呢?
    • 呃,历史上 play 2.0 中没有这个设置,但后来(我想是 2.3)它已在“用户请求”时添加到 Play 中。当应用程序需要在短时间内为少数“选定用户”准备好时,它看起来在 MVP 场景中是有意义的。然后你可以使用这个简单的伪超时,然后添加对令牌和超时的完全支持。
    • 听起来像一个危险的蜜罐。感谢您的澄清!
    猜你喜欢
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    • 2020-07-07
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多