客戶端與伺服器互動中的Token

2022-08-30 20:51:12 字數 996 閱讀 2151

token:在計算機身份認證中是令牌(臨時)的意思,類似於 md5 加密之後的長字串

特點:1.隨機性,不可**  2.具有有限期 3.唯一

作用:1.防止重複提交  2.防止csrf(跨站請求偽造)攻擊

token是伺服器生成的一串字串,以作客戶端進行請求的乙個令牌。

當第一次登入後,伺服器生成乙個token並返回給客戶端,以後客戶端只需帶上這個token前來請求資料即可,無需再次帶上使用者名稱和密碼。

目的就是為了驗證使用者登入情況以及減輕伺服器的壓力,減少頻繁的查詢資料庫。

它的應用:

1.當使用者首次登入成功之後,伺服器就會生成乙個token值(uuid);

2.伺服器會儲存這個值(儲存在資料庫中或者快取中),再將這個token值返回給客戶端;

3.客戶端拿到token值之後,使用sp進行儲存。

4.以後客戶端再次傳送網路請求(一般不是登入請求)的時候,就會將這個token值附帶到引數中傳送給伺服器;

5.伺服器接收到客戶端的請求之後,會取出token值與儲存在本地(資料庫)中的token值做比較。如果兩個token值相同,說明使用者登入成功過,當前使用者處於登入狀態,如果沒有這個token值,沒有登入成功。

**僅供參考:

生成token

$val = md5("token_" . 122 . "_" . time()); // 32 jhjkbjkbjkghghghsss

$exptime = 86400*30;

$this->redis->setex($key, $exptime, $val);//有效期 30天

驗證token

if ( !$this->redis->exists($key) )

$user_token = $this->redis->get($key);

if ( empty($user_token) )

if ($token != $user_token)

客戶端與伺服器介面的互動。

上面的 是設定與伺服器連線的,包括連線伺服器的方法,以及傳輸資料的格式,可編碼方式等。下面的 是處理伺服器的返回值的。try if a00000 equals resjson.get code else resultcode resjson.get code catch classcastexcep...

伺服器與客戶端

建立socket操作,建立流式套接字,返回套接字型大小socksrv socket socket int af,int type,int protocol 第乙個引數,指定位址簇 tcp ip只能是af inet,也可寫成pf inet socket socksrv socket af inet,s...

客戶端與伺服器

cs與bs 軟體使用方式上的兩種劃分 c s client server pc客戶端與伺服器架構 特點 在伺服器當中就主要是乙個資料庫,把所有業務邏輯都交給客戶端來完成 優點 較為安全,使用者介面豐富,客戶體驗好 缺點 每次公升級都要重新安裝,針對不同的作業系統開發,可移植性差 b sbrowser...