《thinkphp》二、API数据安全

  • 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);
    }
    
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值