建议存放在Cookie。
- JWT存放在localstorage
为了应对XSS攻击,我们通常需要对用户输入进行过滤或者转义编码,避免攻击者输入有害的脚本。然而现代web应用出于一些特定的目的(例如cdn)经常会插入外部的脚本,这些脚本可能遭到破坏。而localstorage没有类似cookie http-only的手段无法阻止js直接访问数据,XSS攻击的威胁较大。
同样,它也无法通过设置控制仅通过Secure/HTTPS访问。 - JWT存放在cookie
jwt存放在cookie的话,对于XSS攻击,我们可以通过设置http-only来限制js对cookie的操作,而对于CSRF攻击,我们可以利用CSRF-Token或者Orgin/Referer头来加以防范。
现代web应用使用基于CDNs或外部的JavaScript。现代的web应用程序包括用于A/B测试、funnel/market分析和广告。我们使用像Bower这样的包管理器将其他人的代码导入到我们的应用程序中。如果您使用的脚本中只要有一个被破坏了怎么办?恶意的JavaScript可以嵌入到页面中,Web存储也会受到影响。这些类型的XSS攻击可以在不知情的情况下获取访问您站点的每个人的Web存储。这可能就是为什么许多组织建议不要在web存储中存储任何有价值的东西或任何认证信息的原因,这包括会话标识符和令牌。
- 用cookie容易遭受CSRF攻击,可以通过CSRF-Token或者Orgin/Referer等方法防范,而用localstorage容易遭受XSS攻击,通过过滤用户输入等方法防范。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。