kk-anti-reptile 1.0.0-RELEASE 版本发布,反爬虫组件

2020-2-14 12:05

1.0.0-RELEASE版本发布内容

  1. 优化:验证及刷新请求不使用Filter处理,改为使用原生servlet,不影响正常请求效率
  2. 优化:底层拦截原理改进,由filter改成spring体系的Interceptor,方便后续Spring mvc对接支持
  3. 新增:新增全局拦截模式可选,默认为非全局拦截
  4. 新增:新增拦截模式配置不当时智能提示
  5. 新增:新增 @AntiReptile 注解标注接口拦截支持,注解和配置文件方式可同时作用
  6. 新增:新增接口正则表达式匹配拦截支持

 kk-anti-reptile反爬虫组件简介

概述

kk-anti-reptile 是适用于基于 spring-boot 开发的分布式系统的开源反爬虫接口防刷spring boot start组件。

系统要求

  • 基于 spring-boot 开发(spring-boot1.x, spring-boot2.x 均可)
  • 需要使用 redis

工作流程

kk-anti-reptile 使用 SpringMVC拦截器 对请求进行过滤,通过 spring-boot 的扩展点机制,实例化一个Spring HandlerInterceptor Bean,通过 Spring 注入到 Servlet 容器中,从而实现对请求的过滤

在 kk-anti-reptile 的过滤 Interceptor 内部,又通过责任链模式,将各种不同的过滤规则织入,并提供抽象接口,可由调用方进行规则扩展

Interceptor 调用则链进行请求过滤,如过滤不通过,则拦截请求,返回状态码509,并输出验证码输入页面,输出验证码正确后,调用过滤规则链对规则进行重置

目前规则链中有如下两个规则

ip-rule

ip-rule 通过时间窗口统计当前时间窗口内请求数,小于规定的最大请求数则可通过,否则不通过。时间窗口、最大请求数、ip 白名单等均可配置

ua-rule

ua-rule 通过判断请求携带的 User-Agent,得到操作系统、设备信息、浏览器信息等,可配置各种维度对请求进行过滤


路过

雷人

握手

鲜花

鸡蛋

周一至周日9:00-18:00

反馈建议

service#bjjem.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! © 2001-2019