接口安全性设计

通常接口安全性都是指的客户端与服务端交互,但是这里额外研究一下直接通过浏览器和服务端交互的方式。

需要防止的内容

  • 被其他人调用
  • 被篡改请求
  • 被替换返回结果
  • 接口被重放

可以采取的措施

传输层

HTTPS 加密
IP 白名单

应用层

用户鉴别机制主要用于防止其他人调用:预先分配 token/appKey 等参数加在请求中,供服务端识别请求来源
时间戳超时机制主要用于防止接口被重放:接口中添加时间参数和唯一字符串,拒绝超时的请求,拒绝一定时间内已经请求过的的请求
参数/返回值加密主要用于防止数据被更改:将请求的参数加盐加密生成参数签名,在服务端重新计算参数签名进行比对

image.png

一种简单的认证方法:HTTP Basic 身份认证

https://juejin.im/entry/5ac175baf265da239e4e3999

坚持原创技术分享,您的支持将鼓励我继续创作!