携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情
总结
反正是服务端加密的传过来让前端存着的,
通常的存储都可以放,只不过需要防范攻击就是了
风险
放在 webStorage 里的话,因为同源策略,可以在当前页面中注入脚本进行 xss 攻击来获取信息。比如在一个帖子下面回复了一串 js 脚本代码。
<script>report(document.cookie)</script>,如果网站没有对留言内容进行输出转义,就会被注入脚本。
如果做了输出转义,那那些符号都会变成转义字符。这样就能防范了,目前 react 等主流的框架都默认帮我们进行了转义输出。
放在 cookie 里且设置 httponly 也可以防范 xss 攻击,但还有一个 csrf 攻击不要忘了,可以生成一个伪随机数放在请求中来防范。
如果攻击者能够拿到用户的JWT token,就可以通过伪造该用户的请求来假冒该用户。因此,确保JWT token的安全性非常重要。
以下是保障JWT token安全的一些方法:
-
使用HTTPS协议传输数据,以保障数据传输的安全性。
-
通过设置短暂有效期来减少JWT token被盗用的风险。
-
将JWT token存储在HttpOnly Cookie中,以防止XSS攻击窃取JWT token。
-
使用签名来验证JWT token的完整性,以防止攻击者篡改JWT token。
-
避免在JWT token中包含敏感信息,例如用户的密码。
-
使用多因素身份验证等措施来提高账户的安全性。
尽管采取了以上措施,JWT token仍然存在被攻击、盗取和篡改的风险,因此,在实施JWT身份验证时,必须全面考虑安全风险,同时合理运用多种安全防御措施。
攻击
xss 攻击是注入脚本窃取信息。 csrf 攻击是跨站请求伪造。