美文网首页
API 安全机制 | 流控

API 安全机制 | 流控

作者: 乌鲁木齐001号程序员 | 来源:发表于2020-07-11 23:02 被阅读0次

流控 | 流量控制

  • 流控要做在所有安全机制的最前头;
  • 流控有针对整个集群的流控,有针对单个服务的流控;

流控 | 单个服务的流控

基于 Guava 的 RateLimiter 的实现
package com.lixinlei.security.api.filter;

import java.io.IOException;

import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.core.annotation.Order;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;

import com.google.common.util.concurrent.RateLimiter;

/**
 * OncePerRequestFilter - 保证 Filter 中的逻辑在一个请求中,永远只会被执行 1 次,有些情况下,一个请求会多次过一个 Filter;
 */
@Component
@Order(1)
public class RateLimitFilter extends OncePerRequestFilter {

    // 每秒只放一个请求过去
    private RateLimiter rateLimiter = RateLimiter.create(1);

    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
            throws ServletException, IOException {

        System.out.println(1);

        if(rateLimiter.tryAcquire()) {
            filterChain.doFilter(request, response);
        } else {
            response.setStatus(HttpStatus.TOO_MANY_REQUESTS.value());
            response.getWriter().write("too many request!!!");
            response.getWriter().flush();
            return;
        }
    }

}

相关文章

  • 三、API安全机制-流控

    源码下载 一、API安全机制-流控API安全机制.png controller 流控过滤器 流控效果请求次数太多.png

  • 八、API安全机制-数据库层安全策略

    源码下载 一、API安全机制-数据库层安全策略API安全机制.png 在前面说的API安全机制包含业务逻辑外(流控...

  • API 安全机制 | 流控

    流控 | 流量控制 流控要做在所有安全机制的最前头; 流控有针对整个集群的流控,有针对单个服务的流控; 流控 | ...

  • 四、API安全机制-认证

    源码下载 一、API安全机制-认证API安全机制.png 认证过滤器

  • 六、API安全机制-访问控制(授权)

    源码下载 一、API安全机制-访问控制 API安全机制.png 访问控制 访问控制算是API业务层的安全策略,为了...

  • 阿里大师带你详解API接口安全

    API安全机制 为什么要保证API安全 接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设...

  • 五、API安全机制-审计(日志)

    源码下载 一、API安全机制-审计(日志)API安全机制.png 审计日志应该在认证处理之后,这样我们就知道谁在发...

  • API安全机制

    为什么要保证API安全 防止别人随便调用你的api 保证传输数据的安全 设计签名 防止别人调用你的API其实并不难...

  • 七、API安全机制-业务层安全策略

    源码下载 一、API安全机制-业务逻辑APIAPI安全机制.png 业务逻辑验证 RavenUserInfo 在R...

  • 摘要

    监狱安全管理的机制,由领导责任机制,安全防控机制,隐患排除机制,应急处置机制,狱情搜集机制组成。领导责任机制,坚持...

网友评论

      本文标题:API 安全机制 | 流控

      本文链接:https://www.haomeiwen.com/subject/ojjwcktx.html