【问题标题】:Error in cookie expiration date for ChromeChrome 的 cookie 过期日期错误
【发布时间】:2018-11-06 22:07:07
【问题描述】:

我对 Chrome 上的 cookie 到期日期有疑问。我使用 ColdFusion 设置了两个这样的 cookie:

<cfset thekey = generatesecretkey("DESEDE")>
<cfcookie name="cookie1" value="#Hash(userid&thekey,'SHA-256')#" httponly="true" >
<cfcookie name="cookie2" value="#thekey#" httponly="true" >

他们已经工作了一段时间。然而,在升级到 ColdFusion 10 并使用 Chrome 后,奇怪的事情开始发生。它只发生在 Chrome 浏览器上。其他浏览器没有这个问题:

设置这两个 cookie 后,它们的到期日期都结束于1969 年 12 月 31 日星期三晚上 7:00:11

这让我非常困惑。如您所见,我没有设置任何到期日期。所以默认是session only。它们应该在用户会话结束时过期。我的问题是这个日期是从哪里来的?是来自 ColdFusion 10 服务器还是 Chrome?我不知道为什么这个日期会出现在 Chrome 中 cookie 的 Expires 字段中。有了这个到期日期,cookie 就被认为已经过期并且无法使用。

【问题讨论】:

  • 您是否尝试过使用 expires 属性设置到期日期?
  • @JackPilowsky 我没有,因为我希望它在会话中过期并且还想找出根本原因。 cfcookie 函数中 expire 参数的默认值应该是“仅会话”。由于它只发生在 Chrome 上,我怀疑它可能是 Chrome 错误。
  • 尝试将其设置为仅会话。看看是否有效
  • 您已经通过省略“expires”来仅使用会话。 “仅限会话”不是一个允许的值,只有:日期、天数、“现在”或“从不”。
  • 遇到同样的问题。会话 cookie 是通过没有过期字段来设置的,但 Chrome 始终将过期时间显示为 1969-12-31T23:59:59.000Z。有更新吗?

标签: google-chrome cookies coldfusion coldfusion-10


【解决方案1】:

对于会话 cookie,Chrome 开发工具只显示奇怪的过期日期,实际上没有任何作用。

【讨论】:

    【解决方案2】:

    Chrome 默认使用此日期,除非您明确指定 cookie 的生命周期。

    类似的问题: What does a cookie with 1969 as the expiration date mean?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-09
      • 2010-10-06
      • 1970-01-01
      相关资源
      最近更新 更多