Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala Play 2.3 cookie在过期后仍然可用_Scala_Security_Playframework_Session Cookies - Fatal编程技术网

Scala Play 2.3 cookie在过期后仍然可用

Scala Play 2.3 cookie在过期后仍然可用,scala,security,playframework,session-cookies,Scala,Security,Playframework,Session Cookies,我有一个Play 2.3.7应用程序,配置了session.maxAge值。身份验证通过会话中的令牌完成。如果我登录,允许maxAge持续时间通过,并尝试调用一个端点,我会得到预期的401。但是,如果我在cookie仍然有效的情况下从浏览器复制cookie,让它过期,然后手动将cookie添加回浏览器的cookie,则cookie似乎再次工作 我的问题是: cookie过期是否仅在浏览器上强制执行 如果是这样,是否让开发人员永久终止cookie 如果需要的话 简短回答 对 对 详细信息 看起来您

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

我的问题是:

  • cookie过期是否仅在浏览器上强制执行
  • 如果是这样,是否让开发人员永久终止cookie 如果需要的话

  • 简短回答

  • 详细信息

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

    甚至更多

    请阅读@biesior对这个问题的回答

    非常感谢!那么,如果会话最大年龄仍然可用,那么它到底有什么意义呢?嗯,历史上在play 2.0中没有这个设置,但后来(我想是2.3)它被添加到了“用户请求”中。在MVP场景中,当应用程序需要在短时间内为少数“选定用户”准备好时,它看起来很有意义。然后您可以使用这个简单的伪超时,然后添加对令牌和超时的完全支持。听起来像是一个危险的蜜罐。谢谢你的澄清!