實現登錄狀態保持的兩種方法 cookie、session和token


實現登錄狀態保持的兩種方法:
第一種,cookie和session的配合使用
實現原理:當用戶請求頁面,一般需要先登錄,用戶第一次輸入用戶名和密碼之后,前台發送post請求,后台獲取用戶信息,通過查詢數據庫來驗證用戶信息是否正確,如果驗證通過,則會開辟一塊session空間來儲存用戶數據,並且同時生成一個cookie字符串,由后台返回給前台,前台接收后,會把這個cookie字符串儲存到瀏覽器的cookie空間中,這個cookie就相當於一把鑰匙,可以打開后台存儲對應用戶信息的鎖,當用戶下一次請求的時候,客戶端便會自動攜帶這個cookie去請求服務器,服務器識別后,就會讀取session中的用戶信息,這樣用戶就可以直接訪問,就不需要再輸入用戶名密碼來驗證身份了。
優缺點: 優點是:提升了用戶體驗,cookie和session的結合使用,比直接在客戶端保存用戶信息要相對安全;缺點是:當服務器向瀏覽器傳送cookie的時候,很容易被劫持,並不是絕對的安全,還有一點就是,在大型的項目中,服務器往往不只一台,如果第一次請求,用戶信息被保存在了服務器1的session空間中,但是第二次請求被分流到了服務器2,這樣就獲取不到用戶信息了,依然要重新登錄,所以又引出了另一種方法:token來實現。

第二種,使用token安全令牌
實現原理:當用戶請求頁面,輸入用戶信息,服務端經過驗證后,會生成一個token安全令牌(隨機字符串),並返回給客戶端,當客戶端發送下一次請求的時候,直接攜帶這個token,服務端識別后,就可以直接訪問頁面,不需要再次登錄了
優點:token只是以字符串的形式存在,不要服務器再開辟空間,並且相對更安全,即使在傳輸的過程中被劫持,別人也並不能破解內容,並且減少了服務器壓力,減少頻繁的查詢數據庫。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM