springboot防攻击(Spring Boot 防止接口被恶意刷新、暴力请求)
导读:在实际项目使用中,必须要考虑服务的安全性,当服务部署到互联网以后,就要考虑服务被恶意请求和暴力攻击的情况,下面的教程,通过Spring Boot提供的HandlerInterceptor和Redis 针对 Url + ip在一定时间内访问的次数来将ip禁用,可以根据自己的业务需求进行相应的修改,以达到自己的目的。...
在实际项目使用中 ,必须要考虑服务的安全性 ,当服务部署到互联网以后,就要考虑服务被恶意请求和暴力攻击的情况 ,下面的教程 ,通过Spring Boot提供的HandlerInterceptor和Redis 针对 Url + ip在一定时间内访问的次数来将ip禁用 ,可以根据自己的业务需求进行相应的修改 ,以达到自己的目的 。
首先创建一个自定义的拦截器类 ,也是最核心的代码 。
最后将上面自定义的拦截器通过WebMvcConfigurer下的registry.addInterceptor添加一下 ,就生效了 。
/**
* @ProjectName: cdkj-framework
* @Package: com.cdkjframework.core.spring.filter
* @ClassName: WebMvcFilterConfigurerAdapter
* @Description: java类作用描述
* @Author: xiaLin
* @Date: 2022/6/22 13:37
* @Version: 1.0
*/
@RequiredArgsConstructor
public class WebMvcFilterConfigurerAdapter implements WebMvcConfigurer {
/**
* redis锁
*/
private final RedisLettuceLock redisLettuceLock;
/**
* 过虑句柄拦截器
*
* @return 返回拦截器
*/
@Bean
private FilterHandlerInterceptor filterHandlerInterceptor() {
return new FilterHandlerInterceptor(redisLettuceLock);
}
/**
* 添加 拦截器
*
* @param registry 拦截器注册
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(filterHandlerInterceptor()).addPathPatterns("/**");
}
}
自己可以写一个for循环来测试改功能 ,这里就不具体详细介绍了 。
文章中的工具类可参考:https://gitee.com/cdkjframework/common/tree/1.0.2/
声明:本站所有文章 ,如无特殊说明或标注 ,均为本站原创发布 。任何个人或组织,在未征得本站同意时 ,禁止复制 、盗用 、采集 、发布本站内容到任何网站 、书籍等各类媒体平台 。如若本站内容侵犯了原著者的合法权益 ,可联系我们进行处理 。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!