首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在服务器端删除cookie的正确方法

在服务器端删除cookie的正确方法
EN

Stack Overflow用户
提问于 2011-03-13 06:30:55
回答 4查看 191.4K关注 0票数 181

对于我的身份验证过程,我在用户登录时创建一个惟一的令牌,并将其放入用于身份验证的cookie中。

所以我会从服务器发送类似这样的东西:

代码语言:javascript
复制
Set-Cookie: token=$2a$12$T94df7ArHkpkX7RGYndcq.fKU.oRlkVLOkCBNrMilaSWnTcWtCfJC; path=/;

它适用于所有浏览器。然后,为了删除cookie,我发送了一个类似的cookie,其中的expires字段设置为1970年1月1日

代码语言:javascript
复制
Set-Cookie: token=$2a$12$T94df7ArHkpkX7RGYndcq.fKU.oRlkVLOkCBNrMilaSWnTcWtCfJC; path=/; expires=Thu, Jan 01 1970 00:00:00 UTC; 

这在Firefox上运行得很好,但不会删除IE或Safari上的cookie。

那么删除cookie的最好方法是什么(最好不要使用JavaScript )?过去的set- The -expires方法看起来很笨重。还有,为什么这在FF中有效,而在IE或Safari中不起作用?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-03-13 06:38:54

发送附加了; expires的相同Cookie值不会破坏cookie。

通过设置空值并包括expires字段来使cookie无效:

代码语言:javascript
复制
Set-Cookie: token=deleted; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT

请注意,您不能强制所有浏览器删除cookie。客户端可以这样配置浏览器:即使cookie过期,它也会继续存在。如上所述设置该值将解决此问题。

票数 245
EN

Stack Overflow用户

发布于 2012-12-18 00:14:11

将"expires“设置为过去的日期是删除cookie的标准方法。

您的问题可能是因为日期格式不是常规的。IE可能只期望GMT。

票数 16
EN

Stack Overflow用户

发布于 2020-03-30 21:23:09

使用Max-Age=-1而不是"Expires“。它更短,对语法不那么挑剔,而且Max-Age优先于Expires。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5285940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档