PHP开发APP接口安全设计

最近做了一个开发APP接口的项目, 和大家分享以下接口安全方面的几个要点

接口安全问题
为防止接口被恶意使用, 数据抓包, 防范 增, 删, 改 等敏感接口被使用的情况,
服务端接口安全设计是很重要的一部分
一般通过以下几种方式结合 使用

1, token (授权)
用户登录后的唯一标识, 登陆时, 得到用户数据库中的唯一标识信息(如uid), 通过一定方式加密后, 生成token, 返回给客户端工
程师, 并存入服务端缓存, 当用户客户端请求一个需要登录才可以访问的接口是, 查看使用携带参数token, 并查看缓存中是否有
此token, 没有就禁止接口通行

2, Timestamp (时间戳限制)
客户端请求接口时携带时间戳
客户端接收后 判断时间戳与服务端当前时间戳相差若 > 3s, 就可以禁止接口通行

3, sign (签名)
客户端携带由请求参数的key1=val1&key2=val2 组成的加密签名字符串, 算法例如

sign = md5('apptype=android&model=sanxing&timestamp=1555386454&key=*******');
加密方式可以使用md5或SHA-1,base64等可解密或不可解密方式加密
其中key 作为私钥, 有客户端和服务端人员约定, 不参与参数传递

4, sign唯一
若有人获取了此次请求的参数与url, 并在时间戳过期时间内请求的话, 也同样可以使用此接口
可以用sign在限制这一点,把每次请求的sign缓存, 判断sign存在, 禁止接口通行

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值