使用 Expires / Max-Age of Session 删除 cookie
Posted
技术标签:
【中文标题】使用 Expires / Max-Age of Session 删除 cookie【英文标题】:Deleting a cookie with Expires / Max-Age of Session 【发布时间】:2017-02-09 06:18:21 【问题描述】:当我查看我的 chrome 开发工具(Cookie 部分)时,您有 5 个相关列: 名称、值、域、路径和过期/最大年龄 我有一个无法删除的 cookie 和 Expires / Max-Age of Session。奇怪的是,当我使用 x-debug 进行检查时,它不会显示在 $_SESSION 下,而是显示在 $_COOKIE 下。
我首先尝试使用 JS 进行删除,这在我的本地环境中有效,但是当我将其推送到临时服务器时,cookie 并没有被删除。
接下来我厌倦了用 php 删除它,因为我的理解是会话 cookie 不能用 js 删除,但是当尝试用 setcookie 或类似的东西删除 cookie 时
setcookie (session_id(), "", time() - 3600);
session_destroy();
session_write_close();
我还是没有运气,有什么建议吗?
【问题讨论】:
Problems deleting cookies, won't unset的可能重复 【参考方案1】:将时间设置为格林威治标准时间 1970 年 1 月 1 日星期四 00:00:01。我相信它会解决问题
【讨论】:
【参考方案2】:我认为session_destroy()
之后的session_write_close()
可能是个问题。您是否尝试仅使用session_destroy()
?
您可以使用unset($_COOKIE[session_name()])
;删除会话的cookie
【讨论】:
仍然没有运气,我觉得很奇怪我可以在本地使用 js 删除,但不能在我的登台服务器上删除。认为可能存在一些奇怪的服务器设置?以上是关于使用 Expires / Max-Age of Session 删除 cookie的主要内容,如果未能解决你的问题,请参考以下文章
cookie属性max-age与expires同时存在时谁会生效
利用浏览器缓存 - expires 或 max-age, last-modified 或 etag
浏览器缓存之Expires Etag Last-Modified max-age详解