首页 Java嵌入式限流、安全工具类

Java嵌入式限流、安全工具类

2024-08-29 21:58:37 388 0

前端

 

功能:

  • 配置单个或多个URL一段时间内的访问次数,超过指定次数,则间歇性断连,起到拦截作用。
  • 5秒、1分钟、5分钟、30分钟、1小时、2小时内超过指定次数拦截。
  • IP池拦截,IP前三位计算总数,超过指定次数拦截。
  • SQL注入拦截
  • XSS拦截

使用方法:

依赖Jar或者下载源码https://github.com/ezadmin126/ezadmin/blob/main/ezadmin-core/src/main/java/top/ezadmin/web/safe/)放入项目中:

 <dependency>
            <groupId>io.github.ezadmin126</groupId>
            <artifactId>ezadmin-core</artifactId>
            <version>2.9.16</version>
 </dependency>
       String ip=IpUtils.getRealIp(httpServletRequest);
//request参数转为String  此处为拦截恶意请求
        String p= JSONUtils.toJSONString(requestToMap(httpServletRequest));
        IpActionDto ipActionDto = new IpActionDto();
        ipActionDto.setIp(ip );
        ipActionDto.setUri(realUrl);
        ipActionDto.setP(p);
        if( !top.ezadmin.web.safe.DefaultLocalFilter.isSafe(ipActionDto)){
            httpServletResponse.setStatus(429);
            httpServletResponse.getWriter().println("429 Too Many Requests");
            return;
        }

 

 

用户留言