JWT 如何被恶意劫持了怎么办?会出现这种情况吗?

JWT 头部(header)、载荷(payload)与签名(signature)如果都被盗取的话,在有效期内是不是就不是安全的啊,还是说没有人那么牛,三部分都能获得到。

桃知夭夭
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 8
leo

所有的 token 都有这个问题啊,有个简单的解决方案就是签发 token 的时候把用户的 ip 也放到 jwt 的 payload 里,每次交易 token 的同时也校验 ip

6年前 评论
LLLLL1998 4年前

不好避免,其他认证几乎也一样吧,使用 HTTPS协议吧

6年前 评论

最極端的情況也只有用戶本人的電腦被人入侵並盜取 Token
不過這種漏洞不容易發生大規模的危害,頂多就是 1. 2 個用戶會發生,因解析及簽發 JWT 的 Secret 仍在你的 Server 上
要防範的話可能得紀錄使用者每次登入的 IP,若有差異即通知使用者,由使用者決定是否要加強帳號安全性

6年前 评论

@hedeqiang 这样的话,应该相对安全了~哈哈

6年前 评论

产生这个疑问的原因是没有明白JWT是什么,JSON Web Tokens 的缩写,解决的是认证与授权的问题,至于Token被劫持,中间人攻击等和别的认证方式一样都是会存在的,解决方法也是有的

1.使用HTTPS
2.登录成功返回JWT时记录下客户端的IP

6年前 评论

@leo 如何把 ip 也放到 jwt 的 payload 里

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!