转自:https://blog.csdn.net/qq_42005284/article/details/89331070
最近做了一个开发APP接口的项目, 和大家分享以下接口安全方面的几个要点
接口安全问题
为防止接口被恶意使用, 数据抓包, 防范 增, 删, 改 等敏感接口被使用的情况,
服务端接口安全设计是很重要的一部分
一般通过以下几种方式结合 使用
1, token (授权)
用户登录后的唯一标识, 登陆时, 得到用户数据库中的唯一标识信息(如uid), 通过一定方式加密后, 生成token, 返回给客户端工
程师, 并存入服务端缓存, 当用户客户端请求一个需要登录才可以访问的接口是, 查看使用携带参数token, 并查看缓存中是否有
此token, 没有就禁止接口通行
2, Timestamp (时间戳限制)
客户端工程师请求接口时携带时间戳
客户端接收后 判断时间戳与服务端当前时间戳相差若 > 20s, 就可以禁止接口通行
3, sign (签名)
客户端携带由请求参数的key1=val1&key2=val2 组成的加密签名字符串, 算法例如
sign = md5('apptype=android&model=sanxing×tamp=1555386454&key=*******');
加密方式可以使用md5或SHA-1,base64等可解密或不可解密方式加密
其中key 作为私钥, 有客户端和服务端人员约定, 不参与参数传递
1
2
3
4, sign唯一
若有人获取了此次请求的参数与url, 并在20s内请求的话, 也同样可以使用此接口
可以用sign在限制这一点,把每次请求的sign缓存30秒, 判断sign存在, 禁止接口通行
---------------------
作者:赵老仙
来源:CSDN
原文:https://blog.csdn.net/qq_42005284/article/details/89331070
版权声明:本文为博主原创文章,转载请附上博文链接!