Cookie过期还可以使用吗?

2025-03-11 08:56:42
推荐回答(2个)
回答1:

Cookie过期不可以使用 。

1、cookie是存储在客户端的,如果不定义cookie的过期时间,那么cookie 的过期时间就会是会话期间,也就是说,此时的cookie是和sesstion等效的,唯一的不同是此种cookie是存储在客户端的内存中,Session是存储在服务器端的内存中。

2、cookie 不只是要设置失效时间,还要再重新写回到客户端才能失效(类似于刷新客户端的cookie)。

3、设置cookie失效要设置时间为负值,即addDays(-1)。废话少说,现在是代码时间:

HttpCookie cookie = new HttpCookie("ck","xiaoerlang");

cookie.Expires=System.DateTime.Now.AddDays(1);

equest.Cookies.Add(cookie);

cookie.Expires=System.DateTime.Now.AddDays(-1);

Response.Cookies.Add(Request.Cookies["ck"]);

回答2:

了解一下cookie的创建与删除机制
创建:
由header中的setcookie创建,由js创建等
删除:
当打开一个页面后,浏览器先检查cookie的有效期,过期就删除cookie
但如果你没有重新打开含过期cookie的页面,则cookie永远不会过期,就是说cookie不会自己主动被删除,而是在访问时发现已过期才会被删除
你这个代码都在一个页面,只有在页面载入时检测cookie是否过期,所以仍能够读取到过期的cookie