You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript Cookie未过期问题及CSP报错解决求助

解决Cookie过期未删除及Content Security Policy(CSP)禁止eval的问题

一、Cookie过期未删除的问题修复

你的Cookie无法被删除的核心原因是expires日期格式不符合浏览器要求,浏览器无法解析错误的日期,会直接忽略过期设置,导致Cookie始终存在。

错误格式分析

你写的过期日期:Sat, 1 2000 23:59:59 EST

  • 月份需使用英文缩写(如Jan)而非数字1
  • 日期需补为两位格式(如01而非1)
  • 推荐使用GMT时区(EST存在跨浏览器解析兼容性问题)

修正后的代码

// 遵循RFC规范的日期格式:Wdy, DD Mon YYYY HH:MM:SS GMT
document.cookie = "firstName=Bob; expires=Sat, 01 Jan 2025 23:59:59 GMT; path=/";
// 设置正确的过期日期,确保浏览器能识别
document.cookie = "lastName=Roberts; expires=Sat, 01 Jan 2000 23:59:59 GMT; path=/";
console.log(document.cookie);

执行修正后的代码后,lastName Cookie会被浏览器正确识别为已过期并删除,控制台输出将仅保留firstName=Bob。

二、Content Security Policy(CSP)禁止eval的问题解决

你遇到的CSP报错和Cookie删除问题无关,是网站的安全策略限制了eval的使用,解决方式如下:

  • 检查CSP配置:查看页面的HTTP响应头(如Content-Security-Policy)或HTML中的<meta>标签,找到script-src规则
  • 优先避免unsafe-eval:不推荐在script-src中添加'unsafe-eval'(会降低网站安全性),优先重构代码移除eval的使用,比如用JSON.parse()替代eval()解析JSON
  • 排查第三方脚本:如果是引入的第三方库使用了eval,可以更换为无eval的版本,或查看库的文档是否有安全兼容的配置方式

内容的提问来源于stack exchange,提问作者DaoOfBullshit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 05:32:14