安全cookie登入狀態設計方案

2022-04-29 02:24:06 字數 723 閱讀 4725

我們知道web是基於http協議傳輸的,明文傳輸是極其危險的,隨便哪個抓包工具分析下資料報,就over啦,乙個加密的傳輸過程應該包括兩部分,一部分為身份認證,使用者鑑別這個使用者的真偽;另外一部分為資料加密,用於資料的保密。

我大概是這樣做的:

(1)生成使用者驗證token

使用者登入後我會生成乙個token,該token可能由如下資訊組成:username+ip+expiration+salt【只是舉例】,然後將組成資訊用可逆加密函式加密得到token,並將該token儲存到資料庫,寫入cookie;

(2)最後這樣去校驗資訊,判斷使用者的登入狀態

將token解密,驗證使用者username,如果存在,繼續;然後驗證token是否和存入資料庫的token相同,如果相同繼續;驗證cookie的有效期expiration,如果有效繼續;驗證ip是否變化,若變化跳入登入。。。。。。甚至還可以驗證user agent.

(3)可以做到單終端登入,可以將token放到資料庫,每次登入操作必然會改變token的值,另外一端的使用者就會token驗證失敗下線

最後說明:

1.上面保證了token每次登入都會不一樣,這回導致之前的token【既cookie】失效

2.cookie的有效期最好不超過一周

通過cookie實現記住登入狀態

基於用session來判斷使用者的登入狀態,然後用存放在瀏覽器的cookie來判斷是否需要幫助登入 登入時存cookie到客戶端 是否記住登入狀態 if remember null remember 1 過期時間 string cookietimeout conf.getvalue cookieut...

PHP 使用cookie實現記住登入狀態

php使用cookie實現記住登入狀態,本文用最原始的方法講解如何實現記住登入狀態,給出3個步驟和具體實現 需要的朋友可以參考下。要實現記住密碼自動登入的功能,我們大多數據都是利用了客戶端的cookies來實現。php製作記住密碼自動登入的解決思路,其實也就是對session,cookies的操作 ...

ios 關於驗證Cookie登入狀態問題

關於cookie的有效期,是看後台怎麼定義的,前端無需刻意去獲取cookie,後台直接提供cookie有效期介面供前段獲取即可,那麼如何驗證登入有效期呢?答案 每一次重新進入應用,自動將根主控制器設定為根控制器即可 方法一 在主控制器 override func viewdidload 方法中,呼叫...