对使用localStorage或cookie感到有些困惑

时间:2019-01-28 17:42:08

标签: node.js cookies jwt

因此,我在多篇文章中读到,与cookie相比,xss / csrf注入对localStorage或sessionStorage的影响更大。

首先:这是真的吗?

我知道我可以使用cookie来检查xsrf验证。

我有一个节点js服务器和一个react js前端。而且,为了不遗漏任何东西,我正在使用localStorage存储JWT(我的访问令牌)。从我的阅读理解来看,这真的很糟糕。

现在:我希望我的网站真正安全,在这里我感到困惑。

我应该保留使用JWT还是将JWT存储在安全的cookie中?然后添加一些有关x-srf,xss的cookie?

还是应该使用cookie会话代替jwt?

我不想在今天下午看完之后再使用localStorage(或sessionStorage)。

如果我不使用JWT,如何将信息以加密方式存储在cookie会话中?而且我必须在前端创建cookie或将cookie值从服务器发送到客户端,然后设置cookie?

1 个答案:

答案 0 :(得分:1)

使用Cookies的好处是,您可以标记Cookie无法被javascript访问。

与LocalStorage相比,这是一个好处,因为LocalStorage始终可以通过javascript访问。 LocalStorage的安全隐患是 IF 您有XSS安全问题,攻击者可以获取令牌。

但是,如果您使用Cookie,则攻击者也有可能利用 进行攻击, IF 则存在CSRF安全问题。或者,如果您遇到了XSS问题,即使攻击者可以直接与API通讯,攻击者仍然有可能使用该会话。

这里没有正确的答案,但是cookie或Localstorage通常是一个“足够好”的选项。只是尝试坚持其他安全最佳做法。始终注意XSS问题,并使用非常严格的SCP策略。本段不全面。 OWASP具有良好的安全性指南。