5

我正在寻找在访问网站但未通过身份验证时清除/清除所有现有 cookie 的最佳方法。

我们不允许客户“记住我”保持登录状态。所以当他们再次访问时,使用 cookie 重新开始的最佳方式是什么?

是否将所有cookie设置为空字符串?是将cookies的日期设置为昨天吗?

任何例子将不胜感激。

4

2 回答 2

13

Daniel K 是正确的,使 cookie 过期是最好的选择,您的问题是要清除所有 cookie,您可以通过 Response 对象执行此操作:

For Each cookie in Response.Cookies
    Response.Cookies(cookie).Expires = DateAdd("d",-1,now())
Next

将 cookie 设置为 "" 的问题 - 严格来说,cookie 仍然存在,如果您想让它们全部过期以便浏览器丢弃它们,请使用 .expires

于 2012-05-17T22:47:33.750 回答
3

asp.net c# 对我来说很好用

string[] ck = Request.Cookies.AllKeys;
foreach(string cookie in ck){
   Response.Cookies[cookie].Expires = DateTime.Now.AddDays(-1);
}
于 2015-01-21T14:20:50.447 回答