安全性 - 本地存储与 Cookie
Security - Local storage vs Cookies
您好,我有一个使用 JWT 进行身份验证的 React 应用程序。
我们将此 JWT 存储在本地存储中,但我们团队的安全人员告诉我们它不安全,因为可以通过 Javascript 访问此令牌。
他们要求改为将其存储在 cookie 中。因为它不安全。但对我来说,cookie 也可以在 js 中访问,所以我不明白这里的意义。
您知道为什么 cookie 存储应该比本地和会话存储更安全吗?真的是这样吗?
使用 JWT 最安全的方法是什么?
我不是在问我应该如何使用 JWT,而是在问保护它的最佳方法是什么。
与 localStorage
数据不同,您可以将 cookie 设置为 HttpOnly
,这样它就无法通过 javascript
代码访问。
参考MDN - Secure and HttpOnly cookies:
To help mitigate cross-site scripting (XSS) attacks, HttpOnly cookies
are inaccessible to JavaScript's Document.cookie API; they are only
sent to the server. For example, cookies that persist server-side
sessions don't need to be available to JavaScript, and the HttpOnly
flag should be set.
Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly
您好,我有一个使用 JWT 进行身份验证的 React 应用程序。 我们将此 JWT 存储在本地存储中,但我们团队的安全人员告诉我们它不安全,因为可以通过 Javascript 访问此令牌。
他们要求改为将其存储在 cookie 中。因为它不安全。但对我来说,cookie 也可以在 js 中访问,所以我不明白这里的意义。
您知道为什么 cookie 存储应该比本地和会话存储更安全吗?真的是这样吗?
使用 JWT 最安全的方法是什么?
我不是在问我应该如何使用 JWT,而是在问保护它的最佳方法是什么。
与 localStorage
数据不同,您可以将 cookie 设置为 HttpOnly
,这样它就无法通过 javascript
代码访问。
参考MDN - Secure and HttpOnly cookies:
To help mitigate cross-site scripting (XSS) attacks, HttpOnly cookies are inaccessible to JavaScript's Document.cookie API; they are only sent to the server. For example, cookies that persist server-side sessions don't need to be available to JavaScript, and the HttpOnly flag should be set.
Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly