安全性 - 本地存储与 Cookie
Posted
技术标签:
【中文标题】安全性 - 本地存储与 Cookie【英文标题】:Security - Local storage vs Cookies 【发布时间】:2020-01-10 23:46:45 【问题描述】:您好,我有一个使用 JWT 进行身份验证的反应应用程序。 我们将此 JWT 存储在本地存储中,但我们团队的安全性告诉我们它不安全,因为可以通过 javascript 访问此令牌。
他们要求使用将其存储在 cookie 中。因为它不安全。但对我来说 cookie 也可以在 js 中访问,所以我看不到这里的重点。
您知道为什么 cookie 存储应该比本地和会话存储更安全吗?真的是这样吗?
使用 JWT 最安全的方法是什么?
我不是在问我应该如何使用 JWT,而是问什么是保护它的最佳方式。
【问题讨论】:
How do I store JWT and send them with every request using react的可能重复 看看这个答案的第三条评论(不要按照答案所说的去做)https://***.com/a/39177841/3763848 【参考方案1】:与localStorage
数据不同,您可以将cookie设置为HttpOnly
,使其无法通过javascript
代码访问。
参考MDN - Secure and HttpOnly cookies:
为了帮助缓解跨站点脚本 (XSS) 攻击,HttpOnly cookie JavaScript 的 Document.cookie API 无法访问;他们只是 发送到服务器。例如,保存在服务器端的 cookie 会话不需要对 JavaScript 可用,并且 HttpOnly 应该设置标志。
Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly
【讨论】:
以上是关于安全性 - 本地存储与 Cookie的主要内容,如果未能解决你的问题,请参考以下文章
将 jwt 保存在 cookie 中以将其传递到本地存储是不是安全?
JS,Cookie本地存储,设置获取cookie函数的封装!
JS,Cookie本地存储,设置获取cookie函数的封装!