想当然是编程最大的坑,记更新删除过期cookie无效有感

简介:

一般来说只要设置了cookie的过期时间,就可以实现删除cookie的作用。 

可是我尝试了设置过期时间,清除cookie内容都无效。

最后才发现,我根本没有执行到那段设置过期的代码。

 

刚开始是因为登出的页面继承了一个统一的基类,而在基类就已经退出了。

后来去掉了这个坑爹的继承之后,又发现在设置过期之前,居然先移除了cookie,而这样移除根本不会有效果,但却导致下面的设置代码执行不下去了。

复制代码
// HttpContext.Current.Request.Cookies.Remove(cookiename);
HttpCookie cookie = HttpContext.Current.Request.Cookies[cookiename];
if (cookie !=  null)
{
     if (removeKeys !=  null && removeKeys.Count >  0)
    {
         foreach ( string key  in removeKeys)
            cookie[key] =  null;
    }
    cookie.Expires = DateTime.Now.AddYears(- 3);
    HttpContext.Current.Response.Cookies.Add(cookie);
}
复制代码

 切记想当然,觉得那里肯定没有问题,而一般坑爹的问题都是些容易忽视小问题。


本文转自火地晋博客园博客,原文链接:http://www.cnblogs.com/yelaiju/p/3371411.html,如需转载请自行联系原作者

目录
相关文章
|
11月前
|
存储 NoSQL 算法
【Java Web编程 九】深入理解会话追踪技术Session和Cookie(下)
【Java Web编程 九】深入理解会话追踪技术Session和Cookie
119 0
|
11月前
|
存储 搜索推荐 Java
【Java Web编程 九】深入理解会话追踪技术Session和Cookie(上)
【Java Web编程 九】深入理解会话追踪技术Session和Cookie(上)
51 0
|
10天前
|
存储 自然语言处理 API
Session、cookie、token有什么区别?
Session、cookie、token有什么区别?
27 1
|
10天前
|
JavaScript 前端开发 Java
【JavaEE】使Cookie与Session失效-Servlet上传文件操作-优化表白墙(下)
【JavaEE】使Cookie与Session失效-Servlet上传文件操作-优化表白墙
13 0
|
10天前
|
存储 前端开发 Java
【JavaEE】使Cookie与Session失效-Servlet上传文件操作-优化表白墙(上)
【JavaEE】使Cookie与Session失效-Servlet上传文件操作-优化表白墙
10 0
|
10天前
|
存储 JSON 前端开发
【JavaEE】Cookie与Session的前后端交互-表白墙登录设计
【JavaEE】Cookie与Session的前后端交互-表白墙登录设计
14 0
|
10天前
|
存储 安全 Java
JavaWeb中的Session和Cookie
本文介绍了JavaWeb中的会话跟踪技术,主要讨论了Cookie和Session的概念、用途、设置与获取方法以及生命周期。Cookie是客户端技术,用于在用户浏览器中存储信息,通常用于保持用户登录状态,有效期可设置。Session则保存在服务器端,用于跟踪用户状态,例如登录信息,生命周期可通过设置最大不活动时间控制。两者之间的主要区别在于数据存储位置和安全性,Cookie数据在客户端,可能存在安全风险,而Session数据在服务器端,相对较安全但会占用服务器资源。
|
10天前
|
存储 搜索推荐 安全
【Cookie和Session辨析】
【Cookie和Session辨析】
12 2
|
10天前
|
存储 缓存 安全
【PHP开发专栏】PHP Cookie与Session管理
【4月更文挑战第30天】本文介绍了PHP中的Cookie和Session管理。Cookie是服务器发送至客户端的数据,用于维持会话状态,可使用`setcookie()`设置和`$_COOKIE`访问。Session数据存于服务器,更安全且能存储更多数据,通过`session_start()`启动,`$_SESSION`数组操作。根据需求选择Cookie(跨会话共享)或Session(单会话存储)。实战中常组合使用,如Cookie记住登录状态,Session处理购物车。理解两者原理和应用场景能提升Web开发技能。