在web開發中,之前都使用cookie + session方式來實現身份認證鑑權。但是現在前後端分離,以及終端有可能不支援cookie的情況下,一般都採用token方式。現在系統設計思路如下:
服務端會生成兩個token,乙個是認證請求token(accesstoken),乙個是重新整理token(refreshtoken)。 accesstoken設定過期時間為兩個小時,refreshtoken設定過期時間為30天。accesstoken兩個小時到期後,客戶端會使用refreshtoken來重新整理accesstoken。refreshtoken過期後,會重新登入。
具體步驟如下:
客戶端拿到兩個token後儲存起來,每次請求帶上accesstoken。當服務端返回accesstoken錯誤時,會自動跳轉到登入頁面。當服務端返回accesstoken過期時,使用refreshtoken去重新整理accesstoken。然後在繼續拿新accesstoken請求。
現在有兩個問題:
一是,我這麼設計思路是否合理,在能有效防範xss攻擊情況下,是否能有效防範csrf等安全攻擊?還有沒有更好的方式?
csrf攻擊及其防範介紹
csrf cross site request forgery 跨站請求偽造 亦稱為 one click attack session riding,縮寫為 csrf xsrf。csrf,首先要獲取站點使用者登入資訊,然後冒充正常使用者登入,進行破壞活動,受害方為正常使用者和站點。攻擊型別 顯示攻擊...
CSRF 攻擊是什麼?如何防範?
csrf cross site request forgery 也被稱為 one click attack或者 session riding,中文全稱是叫跨站請求偽造。一般來說,攻擊者通過偽造使用者的瀏覽器的請求,向訪問乙個使用者自己曾經認證訪問過的 傳送出去,使目標 接收並誤以為是使用者的真實操作...
關於CSRF的攻擊
csrf攻擊的原理 1 當使用者成功登陸 a時,瀏覽器紀錄本次會話cookie。解決辦法 token token一般用在兩個地方 防止表單重複提交 csrf攻擊 跨站點請求偽造 兩者在原理上都是通過session token來實現的。當客戶端請求頁面時,伺服器會生成乙個隨機數token,並且將tok...