Terry部落之恶意防刷

投之以桃,报之以礼.对于那些恶意刷我接口的人,我来个恶意防刷,不过分吧!

先上个图,看看这种人在干啥,这种人不在少数.他们一般都会在半夜搞事情,都特喵脑残,脑子有货但是不多那种!

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

你搞事情,我就把你加入黑名单,公平吧,上个截图看看效果

在这里插入图片描述

被列为黑名单的用户,再次访问网站,界面就是这个样子了,不花里胡哨、简单粗暴

在这里插入图片描述

实现逻辑

我允许你三次故意访问错误地址,第一次路径是error我设置跳转到404,第二次、第三次就跳转到fuck,第四次就直接由过滤器打印被加入黑名单字样

  1. 创建一个interceptor
public class GlobalInterceptor implements HandlerInterceptor

在这里插入图片描述

拦截时间可以根据自己的意愿来定,也可以设定成永久,或者创建一个黑名单表,将他们加入到数据库中,我这里就偷懒了

  1. 创建拦截配置
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    
    

    @Autowired
    private GlobalInterceptor globalInterceptor;

    // 对除静态资源外所有路径进行拦截
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
    
    
        registry
            .addInterceptor(globalInterceptor)
            .excludePathPatterns(
                "/css/**",
                "/js/**",
                "/image/**",
                "/font/**",
                "/icon/**",
                "/layui/**",
                "/font-awesome/**",
                "/editormd/**"
            );
    }
}
  1. 配合过滤器达到拦截效果

在这里插入图片描述

最终效果

  • 第一次恶意访问
    在这里插入图片描述
  • 第二次、第三次被恶意访问

在这里插入图片描述

  • 最后直接提示加入黑名单

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u011277745/article/details/130758604