gpt4 book ai didi

reactjs - 本地存储和 cookie 哪一个更安全?

转载 作者:行者123 更新时间:2023-12-03 13:33:14 30 4
gpt4 key购买 nike

我正在使用Django REST API(后端)和React JS(前端)开发一个项目。我使用 Json Web token 进行身份验证。但我很困惑,是否应该将 Json Web token 存储在 本地存储 中还是 cookie 中?哪一种更安全,为什么?大公司如何处理 API客户端 之间的这种安全性?

最佳答案

最根本的问题是针对什么更安全?

主要威胁是跨站点脚本攻击 (xss)。就这一点而言,当且仅当将 cookie 设置为 httpOnly 时,cookie 绝对更安全。

但是,如果身份验证信息位于 cookie 中,跨站点请求伪造 (csrf) 就会成为问题,您必须实现 csrf 保护。不是世界末日,但你需要关心它。如果您将身份验证 token 存储在本地存储中并将其作为 header 发送,则 csrf 不是问题。

此外,过期的 cookie(持久 cookie)通常会保存到客户端上的纯文本文件中,这可能是也可能不是您的威胁模型中的有效威胁。

简而言之,这取决于情况。总的来说,将 token 存储在 httpOnly 的安全 cookie 中通常被认为是最安全的,但它具有如上所述的含义。在大多数情况下,将 token 存储在本地存储中也是可以接受的。更重要的是,如果您需要将 token 发送到多个后端(位于不同的来源),则不能将其放在 cookie 中,因为它只会发送到其自己的来源。

一如既往,问题在于(实现)细节。

关于reactjs - 本地存储和 cookie 哪一个更安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50766041/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com