-
1、每次http請求都攜帶 sign, sign是將關鍵參數拼接的字符串RSA加密後的字符串
如:需要生成簽名的參數:rsa_encrypt_str(“did=111&version=1.0&time=1548162356”)
1、did:設備號,即app每個設備的唯一標識
2、version:版本信息,例:v1.0
3、time:時間戳,通過獲取服務器的10位的時間戳 -
2、保證sign的唯一性
- a、解密sign出來時間戳和當前時間戳在10s內
- b、上次請求的sign存到cache中緩存時間設置20s,這次請求如果新sign(可能被劫持後使用)還在cache中說明無效 (b的時間要大於a的時間)
-
3、請求參數、返回數據按安全性適當加密
-
4、返回客戶端access_token唯一性
/** * 設置登錄的token —— 唯一性的 * @param string $phone * @return string */ public static function setAppLoginToken($phone = '') { $str = md5(uniqid(md5(microtime(true)), true)); return sha1($str.$phone); }
《thinkphp》二、API數據安全
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.