我目前正在使用ReactJS构建一个单页面应用程序。
我读到不使用localStorage
的原因之一是因为XSS漏洞。
由于React转义了所有用户输入,现在使用localStorage
是否安全
发布于 2017-06-02 07:05:53
基本上,将JWT存储在localStorage中是可以的。
我认为这是一个很好的方法。如果我们谈论的是XSS,XSS使用CDN,这也是一个潜在的风险,让你的客户的登录/通过以及。将数据存储在本地存储至少可以防止CSRF攻击。
你需要意识到这两种情况,并选择你想要的。这两种攻击并不是你需要知道的全部,只需记住:你的整个应用程序的安全性只与你应用程序中最不安全的点一样。
再一次存储是可以的,易受XSS,CSRF,...不是
发布于 2017-05-29 03:23:40
Localstorage被设计成可以被javascript访问,所以它不提供任何XSS保护。正如在其他答案中提到的,有一堆可能的方法来进行XSS攻击,而本地存储在默认情况下不受保护。
但是,cookies具有安全标志,可防止XSS和CSRF攻击。HttpOnly标志防止客户端javascript访问cookie,安全标志仅允许浏览器通过ssl传输cookie,而SameSite标志确保cookie仅发送到源。虽然我刚刚检查过,SameSite目前只在Opera和Chrome中被支持,所以为了保护它不受CSRF的影响,最好使用其他策略。例如,在另一个cookie中发送一个加密的令牌和一些公共用户数据。
因此,cookies是存储身份验证数据的更安全的选择。
发布于 2021-10-09 03:54:52
所有建议不要存储在本地存储的答案都让我感到不安,因为这很容易受到XSS攻击或恶意库的攻击。其中一些甚至进入了冗长的讨论,尽管答案相当小/简单,我很快就会谈到。
建议这相当于说“不要用煎锅来煮你的食物,因为如果你某天晚上喝醉了,决定油炸,你最终会烧到你自己和你的房子”。如果jwt由于XSS攻击或恶意库而泄露,则站点所有者有一个更大的问题:他们的站点容易受到XSS攻击或正在使用恶意库。
答案是:如果你确信你的网站没有这些漏洞,那就去做吧。
参考:https://auth0.com/docs/security/data-security/token-storage#browser-local-storage-scenarios
https://stackoverflow.com/questions/44133536
复制相似问题