Cookie删除

使用中发现用Request.Cookies.Remove()无法删除cookie

asp.net(c#)使用中发现用Request.Cookies.Remove()无法删除cookie,最后发现可通过将过期时间设置成过去的时间来完成删除。代码如下:

      HttpCookie hc = Request.Cookies["Value"];

      hc.Expires = DateTime.Now.AddDays(-1);

      Response.AppendCookie(hc); //这句一定要加上,否则无法删除

      顺便整理下关于Cookie的操作:

      一 创建

      1 单值的创建

      HttpCookie hc = new HttpCookie("Value");

      hc.Value = "value";

      Response.AppendCookie(hc);

      2 多值的创建

      HttpCookie hc = new HttpCookie("Value");

      hc["Value1"] = "value1";

      hc["Value2"] = "value2;

      Response.AppendCookie(hc);

      二 读取

      1 单值的读取

      string value = Request.Cookies["Value"].Value;

      2 多值的读取

      string value1 = Request.Cookies["Value"]["Value1"].ToString();

      string value2 = Request.Cookies["Value"]["Value2"].ToString();

### 如何在浏览器或代码中删除指定名称的本地Cookie #### 删除指定名称的Cookie方法 要在客户端通过JavaScript删除特定名称的Cookie,可以通过设置该Cookie的有效期为过去的日期来实现。以下是具体方法: ```javascript document.cookie = "要删除cookie的name=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/"; ``` 上述代码的作用是将目标Cookie的值清空并将其过期时间设定为过去的时间点[^2]。 对于服务器端Java环境中的Cookie删除操作,则可以按照以下方式执行: - 创建一个具有相同名称的新Cookie实例,并赋予其空白值; - 将此新Cookie的最大存活时间设为零秒; - 使用`response.addCookie()`函数向HTTP响应头添加这个特殊配置过的Cookie对象。 示例如下所示: ```java // 声明新的Cookie对象并将它的名字赋为空字符串 Cookie cookie = new Cookie("要删除cookie的name", ""); // 设置最大生存时间为0表示立即销毁它 cookie.setMaxAge(0); // 添加到HttpServletResponse里去覆盖原来的那个同名Cookies response.addCookie(cookie); ``` 以上过程实际上并不是真正意义上的物理删除,而是逻辑上的替代处理机制[^1]。 #### 需要注意的地方 当涉及到不同域之间的数据交互时,请记住由于安全原因所施加的一些限制条件——即所谓的“Same-Origin Policy”。这意味着来自两个完全不同源(协议、主机地址或者端口号任何一个不匹配都算作不同的源)之间不能互相访问对方保存下来的任何类型的持久化资料,包括但不限于cookies等敏感信息[^2]。 另外值得注意的是,在实际应用过程中还需要考虑路径(Path)属性的影响因素;只有当Path完全一致的情况下才能成功移除对应的项。因此建议在清除之前先确认好待删项目的确切参数细节再做相应调整。 #### 总结 无论是前端脚本还是后端程序都可以方便快捷地完成针对某单一标识符关联记录条目清理工作只需遵循标准API接口定义即可达成预期效果。 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值