Token 安全登錄防止竊取

HTTP 協議是無狀態的web

  • 在web中使用cookie+session的技術來保持用戶登錄的狀態
  • 移動端使用token來保持用戶登錄狀態因爲token在網絡中傳輸,很容易被 中間人獲取,進而模擬用戶進行其餘相關操做

解決辦法:瀏覽器

  • 服務器端

響應頭增長隨機字符串 CSRF_TOKEN=xxxxxxxxxxx(每次請求都不一樣)服務器

  • 客戶端
  1. 客戶端和服務端 保留密鑰 secret = yyyyyyyyy
  2. 客戶端獲取響應頭CSRF_TOKEN下次請求必須攜帶
  3. 客戶端 (secret+提交內容) 進行簽名

當用戶提交信息到服務器端,首先驗證簽名數據是否被篡改,隨後經過token+隨機字符串比對,正確的話執行操做,刷新隨機字符串,即便token被中間人獲取到了,沒有隨機字符串依舊執行不了任何操做,再糟糕點中間人經過攔截響應頭獲取到了隨機字符串,可是密鑰還沒泄露,沒有辦法進行簽名依舊執行不了操做cookie

缺點:
以上解決辦法只適用於APP端,瀏覽器端不適用,由於沒地方保存密鑰網絡

總結:session

因此能上 HTTPS 就用 HTTPS 吧!token

相關文章
相關標籤/搜索