JWT令牌token泄露惡意使用
背景
為了防止黑客惡意攔截獲得token信息,在JWT上可以添加客戶端屬性、地理網絡信息等。
解密:使用互聯網大廠的產品時經常遇到這個情況
- 比如阿里雲或者淘寶,你現在登錄了然后換個網絡或者地域就需要重新登錄
- 就是對應的token令牌,不只簡單的算法加密,還包括了客戶端屬性、地理網絡位置信息等,一起組成一個token令牌
業務邏輯
如何避免token令牌泄露被惡意使用
- ip綁定方式
生成token的時候,加密的payload加入當前用戶ip。
攔截器解密后,獲取payload的ip和當前訪問ip判斷是否同個,如果不是則提示重新登錄
優點:服務端無需存儲相關內容,性能高,假如用戶廣州登錄,泄露了token給杭州的黑客,依舊用不了
缺點:如果用戶用使用過程中ip變動頻繁,則操作會經常提示重新登錄,體驗不友好
當然也可以讓用戶開啟安全模式和非安全模式,讓用戶自己知道這個情況,一些區塊鏈、比特幣交易所里面就會讓用戶自己選擇控制這個token令牌安全是否和ip、終端、地理網絡信息進行綁定
- 客戶端屬性綁定
- 地理網絡位置信息綁定
