总结前面讲到的这些章节,如果都实现了的话,那我们这个系统就具备了

  • 防篡改
  • 防重放
  • 防窃听
  • 密钥安全
  • 敏感数据安全
  • 黑白名单

的能力了。

对于防重放,通常我们不会做的非常的严格,只有部分接口会严格要求校验Nonce,毕竟如果所有接口都校验Nonce,会增加系统的复杂度及吞吐量。

大型应用系统,系统的负载是有限的,如果某个时刻用户请求量超过系统负载时,那么系统就会响应不过来。恶意的请求,我们通过前面的那些章节都做了防护了,但不敢保证会不会有漏网之鱼,所以我们的系统还要引入限流机制,当请求量超过系统负载时,采用一些策略来处理那些超限的请求。

# 限流算法

限流算法有很多,我这里只提一下名称,方便大家搜索

  • 计数器法
  • 固定时间窗口法
  • 滑动时间窗口法
  • 漏桶
  • 令牌桶