為什么要將 JWT 令牌存盤在 cookie 中?
我知道這種方法可以防止跨站點腳本 (XSS) 攻擊,并且比本地存盤更安全。但是,如果用戶可以簡單地在開發工具中查看 JWT 并查看令牌,那會是一個真正的問題嗎?
uj5u.com熱心網友回復:
從根本上說,如果您想將資料存盤在客戶端的某個地方,如果他們有足夠的決心,客戶端將能夠自己看到它。如果客戶不能使用他們的機器來查找和查看資料,就無法將資料存盤在客戶的機器上。
如果您將 JWT 存盤在 HttpOnly cookie 中,它將比其他方法更安全,因為這樣惡意腳本將無法抓取憑據。就像您注意到的那樣,客戶端仍然可以手動讀取它——但這通常被認為是可以的。如果沒有資料可以存盤在客戶端上,另一種方法是要求客戶端在每個請求中都提供他們的憑據 - 但如果沒有存盤,這會很麻煩,以至于使系統無法使用。有人從不屬于他們的瀏覽器中手動獲取 JWT 也是一種奇怪的攻擊媒介,盡管這并非不可能。
所以 - 這是不尋常情況下的一個潛在小問題(可以通過在服務器上執行更多驗證方法在一定程度上緩解,例如檢查原始網路和指紋瀏覽器),但不能在客戶可能更糟。
根據您在 JWT 上存盤的內容,您可以自由地對其進行加密,以便只有您的服務器可以對其進行解碼。這樣,即使有權訪問客戶端計算機的人試圖弄亂它,他們所能做的就是逐字復制或洗掉它;他們將無法修改它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/531757.html
