3

我环顾四周,发现如何删除客户端浏览器上的 cookie,或者使用 cookie 的过期时间,或者通过不提供过期时间在浏览器退出时删除它们。

我需要将我的网络应用程序中的 cookie 设置为在特定时间后删除,但如果浏览器退出或崩溃也需要删除。这可能吗?

提前致谢!

4

1 回答 1

4

这可能吗?

不,这不可能开箱即用。有 2 种类型的 cookie:

  1. 持久性:具有expires为给定日期设置的属性 => 那些 cookie 作为文件存储在客户端浏览器上并在浏览器重新启动后仍然存在。将随客户端执行的每个请求一起发送,直到达到它们的到期日期或直到服务器明确删除它们。
  2. 会话cookies:一种没有expires设置属性的cookies。这些仅存在于当前浏览器进程的内存中,但永远不会过期(直到浏览器关闭或服务器明确删除它们)。

created at因此,对于您的场景,您可以通过在值中包含日期来使用会话 cookie 。然后在每个请求的服务器上,您可以读取此值并与当前日期进行比较。如果所需的时间已经过去,只需使 cookie 过期,以便不再在后续请求中发送它。顺便说一下,这种技术用于 ASP.NET 中的 Forms Authentication 模块。您在 web.config 中指定超时并决定是否要使用滑动过期,然后在每个请求上,服务器检查是否达到超时,以便做出使 cookie 无效或更新它的决定(如果滑动过期已启用)。

于 2012-08-15T19:47:10.680 回答