动态

详情 返回 返回

JWT存在cookie還是localstorage? - 动态 详情

建議存放在Cookie。

  • JWT存放在localstorage
    為了應對XSS攻擊,我們通常需要對用户輸入進行過濾或者轉義編碼,避免攻擊者輸入有害的腳本。然而現代web應用出於一些特定的目的(例如cdn)經常會插入外部的腳本,這些腳本可能遭到破壞。而localstorage沒有類似cookie http-only的手段無法阻止js直接訪問數據,XSS攻擊的威脅較大。
    同樣,它也無法通過設置控制僅通過Secure/HTTPS訪問。
  • JWT存放在cookie
    jwt存放在cookie的話,對於XSS攻擊,我們可以通過設置http-only來限制js對cookie的操作,而對於CSRF攻擊,我們可以利用CSRF-Token或者Orgin/Referer頭來加以防範。
現代web應用使用基於CDNs或外部的JavaScript。現代的web應用程序包括用於A/B測試、funnel/market分析和廣告。我們使用像Bower這樣的包管理器將其他人的代碼導入到我們的應用程序中。如果您使用的腳本中只要有一個被破壞了怎麼辦?惡意的JavaScript可以嵌入到頁面中,Web存儲也會受到影響。這些類型的XSS攻擊可以在不知情的情況下獲取訪問您站點的每個人的Web存儲。這可能就是為什麼許多組織建議不要在web存儲中存儲任何有價值的東西或任何認證信息的原因,這包括會話標識符和令牌。
  • 用cookie容易遭受CSRF攻擊,可以通過CSRF-Token或者Orgin/Referer等方法防範,而用localstorage容易遭受XSS攻擊,通過過濾用户輸入等方法防範。

Add a new 评论

Some HTML is okay.