接口安全解决方案

简介

服务端对外开放API接口,尤其对移动应用开放接口的时候,更需要关注接口安全性的问题,要确保应用 APP 与 API 之间的安全通信,防止数据被恶意篡改等攻击。下面就简单列举几种措施来对付接口安全问题。

Token 机制

开放接口时最基本需要考虑到接口不应该被别人随意访问,而我也不能随意访问到其他用户的数据,从而保证用户与用户之间的数据隔离。这个时候我们就有必要引入 Token 机制了。
具体的做法: 在用户成功登录时,系统可以返回客户端一个 Token,后续客户端调用服务端的接口,都需要带上 Token,而服务端需要校验客户端 Token 的合法性。Token 不一致的情况下,服务端需要拦截该请求。

数据校验

服务端从某种层面来说需要验证接受到数据是否和客户端发来的数据是否一致,要验证数据在传输过程中有没有被注入攻击。这时候客户端和服务端就有必要做签名和验签。
具体做法:客户端对所有请求服务端接口参数做加密生成签名,并将签名作为请求参数一并传到服务端,服务端接受到请求同时要做验签的操作,对称加密对请求参数生成签名,并与客户端传过来的签名进行比对,如签名不一致,服务端需要拦截该请求。

过载保护

服务端仍然需要识别一些恶意请求,防止接口被一些丧心病狂的人玩坏。对接口访问频率设置一定阈值,对超过阈值的请求进行屏蔽及预警。

异常封装

服务端需要构建异常统一处理框架,将服务可能出现的异常做统一封装,返回固定的 code 与 msg,防止程序堆栈信息暴露。

HTTPS

HTTPS能够有效防止中间人攻击,有效保证接口不被劫持,对数据窃取篡改做了安全防范。但 HTTP 升级 HTTPS 会带来更多的握手,而握手中的运算会带来更多的性能消耗,这也是不得不考虑的问题。

猜你喜欢

转载自blog.csdn.net/qq_33567641/article/details/88706314