咱們知道web是基於HTTP協議傳輸的,明文傳輸是極其危險的,一個加密的傳輸過程應該包括兩部分,
一部分爲身份認證,用戶鑑別這個用戶的真僞;另一部分爲數據加密,用於數據的保密。 web
1.將token解密,驗證用戶username,若是存在,繼續;
2.而後驗證token是否和存入數據庫的token相同,若是相同繼續;
3.驗證cookie的有效期expiration,若是有效繼續;
4.驗證ip是否變化,若變化跳入登陸。。。。。。
5.甚至還能夠驗證user agent. 數據庫
(3)能夠作到單終端登陸,能夠將token放到數據庫,每次登陸操做必然會改變token的值,另一端的用戶就會token驗證失敗下線. 瀏覽器
最後說明: cookie
1.token每次登陸都會不同,這回致使以前的token【既cookie】失效2.cookie的有效期最好不超過一週 網絡
一些站點會按照瀏覽器的UA信息或者是客戶端的IP地址來生成一個簽名串,
每次回去比對這個簽名串是否正確,
若是網絡環境發生了變化,即使是相同的cookie也會要求你從新登錄一下的 函數
有時咱們須要爲PC瀏覽器及移動瀏覽器生成不一樣的頁面,爲了提升性能,不能每次請求都去判斷User-Agent,一般用一個 Cookie 標記一下客戶端是不是移動客戶端,這樣只須要讀取這個 Cookie 的值就知道這個請求是不是移動端。
性能