Web API 限流安全
Posted To Be Yourself
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web API 限流安全相关的知识,希望对你有一定的参考价值。
为了防止网站意外暴增的流量比如活动、秒杀、攻击等,导致整个系统瘫痪,在前后端接口服务处进行流量限制是非常有必要的。
开放的API接口时是如何保证数据的安全性的?先来看看有哪些安全性问题在开放的api接口中,我们通过http Post或者Get方式请求服务器的时候,会面临着许多的安全性问题,例如:
- 请求来源(身份)是否合法?
- 请求参数被篡改?
- 请求的唯一性(不可复制),防止请求被恶意攻击
为了保证数据在通信时的安全性,我们可以采用TOKEN+参数签名的方式来进行相关验证。
eg:我们客户端需要查询产品信息这个操作来进行分析,客户端点击查询按钮==》调用服务器端api进行查询==》服务器端返回查询结果
token+签名认证的主要原理是:
1.做一个认证服务,提供一个认证的webapi,用户先访问它获取对应的token。
2.用户拿着相应的token以及请求的参数和服务器端提供的签名算法计算出签名后再去访问指定的api。
做一些字符串拼接和MD5加密。TOKEN本身是不参与通信的,所以只要保证TOKEN不泄露,请求就不会被伪造。
3.服务器端每次接收到请求就获取对应用户的token和请求参数,服务器端再次计算签名和客户端签名做对比,如果验证通过则正常访问相应的api,验证失败则返回具体的失败信息。
Basic Auth 就是在请求的时候在headers中设置 Authorization: "Basic 用户名和密码的base64加密字符串"
用户名和密码之间用:冒号隔开。
以上是关于Web API 限流安全的主要内容,如果未能解决你的问题,请参考以下文章
SpringCloud微服务安全网关安全 3-8 用开源项目spring-cloud-zuul-ratelimit 做网关上的限流