【发布时间】:2020-03-23 17:40:29
【问题描述】:
我正在使用 Node 和 React 开发一个全栈应用程序。我曾经将 JWT 存储在 redux 中,因此我可以将其作为每个应验证的请求的标头发送。但是最近我看到一个视频说将我们的 JWT 存储在 redux/flux/mobx 中是易受攻击的。 这怎么会容易受到攻击?他建议的替代方法是使用令牌从后端向前端发送一个 cookie。以便可以将其存储在浏览器 cookie 中。这样我们就不必在每个请求中都发送令牌。
这里哪种方法更好?在 redux 上存储 token 有哪些漏洞?
【问题讨论】:
-
Afaik,redux 在内存中工作,关闭网站时内存被清除,对我来说似乎并不容易。但是,对于 jwtokens,我个人会使用 sessionStorage,如果他们想保持登录状态,则使用 localstorage。看起来很好。
-
它很容易受到 XSS 攻击,因为 redux 存储状态就像 localstorage。参考这里stackoverflow.com/questions/38329193/where-is-redux-store-saved
-
这将为您提供一些上下文:stackoverflow.com/a/54258744/1235935
-
localstorage 比 cookie 更安全 developer.mozilla.org/en-US/docs/Web/API/Document/cookie#Notes
-
@Zoidbergseasharp 本地存储永远不会安全,除非指纹也以 cookie 的形式使用,除非采取措施保护其免受 XSS 和 CSRF 的影响,否则 cookie 永远不会安全。 stackoverflow.com/a/54258744/1235935
标签: javascript node.js authentication jwt backend