-
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数据安全
最新推荐文章于 2024-09-27 16:34:02 发布