JWT令牌token泄露恶意使用
背景
为了防止黑客恶意拦截获得token信息,在JWT上可以添加客户端属性、地理网络信息等。
解密:使用互联网大厂的产品时经常遇到这个情况
- 比如阿里云或者淘宝,你现在登录了然后换个网络或者地域就需要重新登录
- 就是对应的token令牌,不只简单的算法加密,还包括了客户端属性、地理网络位置信息等,一起组成一个token令牌
业务逻辑
如何避免token令牌泄露被恶意使用
- ip绑定方式
生成token的时候,加密的payload加入当前用户ip。
拦截器解密后,获取payload的ip和当前访问ip判断是否同个,如果不是则提示重新登录
优点:服务端无需存储相关内容,性能高,假如用户广州登录,泄露了token给杭州的黑客,依旧用不了
缺点:如果用户用使用过程中ip变动频繁,则操作会经常提示重新登录,体验不友好
当然也可以让用户开启安全模式和非安全模式,让用户自己知道这个情况,一些区块链、比特币交易所里面就会让用户自己选择控制这个token令牌安全是否和ip、终端、地理网络信息进行绑定
- 客户端属性绑定
- 地理网络位置信息绑定