javascript - 检查 Cookie 是否已设置安全标志并仅使用 JavaScript 进行更新

标签 javascript security cookies

我的问题是我们使用 JS 设置了一些 cookie,有效期为 1 年,并且该特定 cookie 没有设置安全标志。我们现在想要更新 cookie 以设置安全标志。创建 cookie 的代码现在具有“安全”属性,并且所有新 cookie 都具有“安全”标志。问题是如何更新现有的 cookie?我假设我必须销毁 cookie,然后使用设置的安全标志重新创建它?不知道还有没有其他方法可以做到这一点?还有一种方法使用 JavaScript 来检测 cookie 在删除之前是否设置了标志?

谢谢!

最佳答案

您无法使用纯 JavaScript 检查 cookie 标志。如果您想添加标志,只需创建一个新的 cookie,浏览器就会覆盖旧的。

示例:

在控制台中输入:

const year = 60*60*24*365;
document.cookie = 'mytestcookie=1;max-age='+year;

并查看浏览器开发人员工具中的 cookie 选项卡。你会发现它是不安全的。 现在,输入:

document.cookie = 'mytestcookie=2;max-age='+year+';secure';

再看一遍。

关于javascript - 检查 Cookie 是否已设置安全标志并仅使用 JavaScript 进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47317605/

相关文章:

javascript - 使用 Javascript/jQuery 启用 getUserMedia

javascript - 每次调整窗口大小时,jQuery Click 事件都会触发更多次

javascript - 如何从用户动态地给 img 一个 src

mysql - 编辑MySQL表权限的工具?

.net - 在 SSH.NET 中检查 SFTP/SSH 指纹

ruby-on-rails - ActionDispatch::Cookies 未在响应中设置 Set-Cookie header ,但 response.set_cookie 确实如此

javascript数组解析匹配

asp.net - 是否可以在 ApplicationServices DB 中对电子邮件地址进行加密?

django - Tornado、Django、Websockets 和 session 同步

html - localStorage 可以替代 cookie 吗?