前后端分離,生成了token,這個token保存在哪里比較合適
1.后臺保存在 cookies,,,設定httponly=true,,,,,z這種感覺就像以前的session模式,貌似不科學
2,。前端自行保存!但是前端又保存在哪里呢,,,存cookie,前端可能會被攻擊,不安全!
各位大佬,你們在保存token,傳遞資訊的時候都是怎么做的?????
uj5u.com熱心網友回復:
用jwt生成的token不用存盤,直接解碼uj5u.com熱心網友回復:
是直接解碼,,你生成token后,這個token肯定要保存在前端或者cookie,,才能讓后續的請求使用哦,我說的是這個問題
uj5u.com熱心網友回復:
vue那套的話就存在Vuex里面uj5u.com熱心網友回復:
我感覺,還是后臺設定cookie,然后禁止前端訪問這個cookie比較安全
uj5u.com熱心網友回復:
cookie不是也保存在瀏覽器,和后臺有什么關系,既然前后端分離,token肯定保留在客戶端,該被攻擊還是被攻擊,如果想保證安全,只能從校驗手段出發,比如token多加些限制條件,比如把瀏覽器情況之類七的八的也一起加進去,最好也別用jwt,這個沒法主動讓他失效uj5u.com熱心網友回復:
前端存入localstorage就可以,localstorage不參與服務器互動,沒有抓包一說,絕對安全,但后端要驗證,前端就必須傳入,比如:http://x.x.com/save?token=xxx&a=1&b=2,
這種方式相當于裸奔,post也是,建議改良一下:
先用MD5混淆token,示例代碼:var token = md5(md5('a=1&b=2&time=當前時間&token=xxx'));
再調介面:http://x.x.com/save?token=混淆后的token&time=當前時間&a=1&b=2
MD5不可逆,加上時間有效性驗證,即使被抓包,也無法獲取真實token,
引數一起混淆不能篡改,用相同引數時間已過期,
前后校驗端邏輯保持一致,安全系數可達99.9%
uj5u.com熱心網友回復:
正常就放在cookie,然后設定httponly就可以了。當然你的token必須是跟sessionid一樣,能夠追溯到一個唯一用戶的。如果這個擔心攻擊利用的話,你倒是模擬一個攻擊方法看看,至少我不知道這種可以怎么利用(不暴露我自己的登錄資訊的情況下)。而且如果這種能夠攻擊的話,那現在的整個http協議都有問題,幾乎所有的需要登錄的網站都存在問題,因為session就是這么實作的啊,現在幾乎所有的網路系統都是基于session來實作登錄狀態保持的啊。
uj5u.com熱心網友回復:
如果你的token并沒有和登錄資訊系結,無法追溯到一個唯一用戶的話,那你不管放在哪里都不安全,跟放在哪里沒有關系,你只要在網路上傳輸就會暴露。
uj5u.com熱心網友回復:
存Redis吧,單獨管理,安全高效uj5u.com熱心網友回復:
存localstorage里和cookie都可以轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/42834.html
標籤:Web 開發
上一篇:分布式部署的場景下,synchroinzed和Lock這樣的鎖的使用范圍
下一篇:ES自定義查詢規則
