投之以桃,报之以礼.对于那些恶意刷我接口的人,我来个恶意防刷,不过分吧!
先上个图,看看这种人在干啥,这种人不在少数.他们一般都会在半夜搞事情,都特喵脑残,脑子有货但是不多那种!
你搞事情,我就把你加入黑名单,公平吧,上个截图看看效果
被列为黑名单的用户,再次访问网站,界面就是这个样子了,不花里胡哨、简单粗暴
实现逻辑
我允许你三次故意访问错误地址,第一次路径是error我设置跳转到404,第二次、第三次就跳转到fuck,第四次就直接由过滤器打印被加入黑名单字样
- 创建一个interceptor
public class GlobalInterceptor implements HandlerInterceptor
拦截时间可以根据自己的意愿来定,也可以设定成永久,或者创建一个黑名单表,将他们加入到数据库中,我这里就偷懒了
- 创建拦截配置
@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/**"
);
}
}
- 配合过滤器达到拦截效果
最终效果
- 第一次恶意访问
- 第二次、第三次被恶意访问
- 最后直接提示加入黑名单