【问题标题】:Mysterious Cookie expiration date `1969-12-31T23:59:59.000Z`神秘的 Cookie 有效期`1969-12-31T23:59:59.000Z`
【发布时间】:2019-02-02 04:39:55
【问题描述】:

我正在将 cookie 过期时间(使用 Express)设置为当前日期。但是在 Chrome 中检查,日期是1969-12-31T23:59:59.000Z

在 Firefox 中,Cookie 的到期日期值为 session

为什么我的 cookie 设置为这个日期?我认为这是一个错误,因为 Chrome 仍在发送 cookie,这意味着它实际上没有过期。

【问题讨论】:

标签: cookies


【解决方案1】:

Unix 时间开始于 1970 年初,这意味着 -1 是在 1969 年。如果预期值通常为正,则这是“未知”的常用值。而对于 cookie,MaxAge 为负值意味着 cookie 不会永久存储,会在 Web 浏览器退出时被删除。

来源:https://stackoverflow.com/a/51497662/3892213

【讨论】:

    【解决方案2】:

    使用 express,您可以使用 expiremaxAge 属性来设置 cookie 过期时间。

    1. maxAge 接受以毫秒为单位的相对时间。例如

    res.cookie(cookieName, cookieValue, { maxAge: 毫秒 });

    1. expire 接受格式化的日期。例如

    res.cookie(cookieName, cookieValue, { expires: new Date(Date.now() + milliseconds) });

    参考 expressjs 文档here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-24
      相关资源
      最近更新 更多