【发布时间】:2021-09-20 17:19:18
【问题描述】:
有人告诉我,将httpOnly:true 放在 cookie 上会阻止浏览器编辑 cookie,但我仍然可以在本地服务器上编辑它。
这是我目前每次制作 cookie 时所拥有的内容
res.cookie("jwt", token, {
expires: new Date(
Date.now() + process.env.JWT_COOKIE_EXPIRES_IN * 24 * 60 * 60 * 1000
),
httpOnly: true, // cannot be modified by the browser
});
【问题讨论】:
-
仅 HTTP 的 cookie 阻止 JavaScript 修改 cookie,不是 浏览器。
-
如果它只是阻止 javascript,那么如果我可以使用那个 cookie 编辑器工具,那么拥有它有什么意义(而不是试图听起来充满敌意哈哈)?
-
通常,想要弄乱您的网站及其客户端的攻击者将使用 JavaScript(例如 XSS),因为没有办法使用 浏览器 来弄乱网站的客户(在不同的机器+浏览器上)。攻击者修改他们的浏览器上的cookies,合法的客户端修改他们自己的cookies也是没有意义的。
-
好的,谢谢,如果你想回答我很乐意接受的点:)
标签: node.js security authentication cookies jwt