问答 / 2 / 8 / 创建于 6年前
JWT 头部(header)、载荷(payload)与签名(signature)如果都被盗取的话,在有效期内是不是就不是安全的啊,还是说没有人那么牛,三部分都能获得到。
所有的 token 都有这个问题啊,有个简单的解决方案就是签发 token 的时候把用户的 ip 也放到 jwt 的 payload 里,每次交易 token 的同时也校验 ip
不好避免,其他认证几乎也一样吧,使用 HTTPS协议吧
最極端的情況也只有用戶本人的電腦被人入侵並盜取 Token 不過這種漏洞不容易發生大規模的危害,頂多就是 1. 2 個用戶會發生,因解析及簽發 JWT 的 Secret 仍在你的 Server 上 要防範的話可能得紀錄使用者每次登入的 IP,若有差異即通知使用者,由使用者決定是否要加強帳號安全性
@leo ˙正解~
@leochien 谢谢提供思路
@hedeqiang 这样的话,应该相对安全了~哈哈
产生这个疑问的原因是没有明白JWT是什么,JSON Web Tokens 的缩写,解决的是认证与授权的问题,至于Token被劫持,中间人攻击等和别的认证方式一样都是会存在的,解决方法也是有的
1.使用HTTPS 2.登录成功返回JWT时记录下客户端的IP
@leo 如何把 ip 也放到 jwt 的 payload 里
我要举报该,理由是:
所有的 token 都有这个问题啊,有个简单的解决方案就是签发 token 的时候把用户的 ip 也放到 jwt 的 payload 里,每次交易 token 的同时也校验 ip
不好避免,其他认证几乎也一样吧,使用 HTTPS协议吧
最極端的情況也只有用戶本人的電腦被人入侵並盜取 Token
不過這種漏洞不容易發生大規模的危害,頂多就是 1. 2 個用戶會發生,因解析及簽發 JWT 的 Secret 仍在你的 Server 上
要防範的話可能得紀錄使用者每次登入的 IP,若有差異即通知使用者,由使用者決定是否要加強帳號安全性
@leo ˙正解~
@leochien 谢谢提供思路
@hedeqiang 这样的话,应该相对安全了~哈哈
产生这个疑问的原因是没有明白JWT是什么,JSON Web Tokens 的缩写,解决的是认证与授权的问题,至于Token被劫持,中间人攻击等和别的认证方式一样都是会存在的,解决方法也是有的
@leo 如何把 ip 也放到 jwt 的 payload 里