【问题标题】:Session cookie that expires过期的会话 cookie
【发布时间】:2014-11-10 18:04:05
【问题描述】:

是否有可能有一个过期的会话 cookie? IE。我希望 cookie 最多持续 30 分钟,但如果用户关闭浏览器也会被删除。也欢迎解决方法。

尝试了max-age 设置,但是当浏览器结束时它不会被删除。

【问题讨论】:

  • 使用本地存储保存cookies怎么样?原始浏览器关闭后,您可以访问本地存储上的数据。只是一个想法。
  • @Fumu7 这是个好主意,但它必须是 cookie,因为第 3 方与它集成在一起,我不希望他们更改其实现。
  • 您可以通过Javascript读写cookies。您可以读取和写入本地存储的内容。因此,在特定页面时将 cookie 保存到本地存储,并在需要时使用该数据重现 cookie。
  • 嗯,没想到。好主意,如果 Robby Cornelissen 的想法不成功,会考虑。
  • 在服务端实现过期?设置值时包含预先计算的到期时间;那么每次在服务器端使用 cookie 时,解析它并检查当前时间(自 epoch 以来的秒数)是否大于 cookie 的预设 time-to-die?

标签: cookies session-cookies


【解决方案1】:

据我所知,你不能在一个 cookie 中同时做到这两点。这是一个或另一个,所以要么:

  • max-age 设置为30 分钟以创建持久cookie;或
  • 不要设置max-age 来创建会话cookie。

但是,您可以做的是同时创建一个会话 cookie 和一个 30 分钟的具有不同名称的持久性 cookie,然后基于这两个 cookie 的存在来处理会话。

【讨论】:

    猜你喜欢
    • 2020-10-18
    • 2013-06-13
    • 1970-01-01
    • 2014-07-20
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 2012-08-23
    • 2015-03-23
    相关资源
    最近更新 更多