1

我已经在我的项目中实现了基于令牌的身份验证,而不是基于 cookie 会话的身份验证。因此,在 jwt(jason-web-tokkens) 中,每次将 req 发送到服务器,我在标头中附加令牌并将其发送到服务器,该服务器验证它是否针对秘密在第一次生成 tokkkne 时使用并发送给我响应。现在,我担心它,首先将令牌保存在浏览器的本地存储中。虽然令牌是散列的,但是如果黑客只是从存储中取出该令牌并使用它怎么办?谁能告诉我它是如何阻止 CORS 攻击的?我很困惑,在网上找不到任何可靠的答案。

4

1 回答 1

2

通过 CORS,我认为您指的是 XSS 攻击?如果是这样,防止 XSS 的最佳方法是保护您的应用免受不受信任的输入。说起来容易做起来难,这里有一些相关信息:

https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet

防止 XSS 的更简单方法是将令牌存储在安全的、仅 HTTP 的 cookie 中。这意味着 Javascript 环境无法触及它,它只会通过安全通道发送。

不过没有什么是免费的 :) 如果您将令牌放入 cookie 中,您还需要设置 CSRF 预防策略:

https://www.owasp.org/index.php/CSRF_Prevention_Cheat_Sheet

这可能需要很多东西!

我在Stormpath工作,我最近写了这篇博客文章,涵盖了这些主题:单页应用程序 (SPA) 基于令牌的身份验证

于 2015-04-21T15:16:11.523 回答