Navigation

    云、贵、川、渝IT人的圈子
    • Register
    • Login
    • Search
    • 主页
    • 问答
    • 话题
    • 热门
    • 圈子
    • 招聘
    • 活动
    • 项目

    反爬虫、接口防盗刷spring-boot-stater组件kk-anti-reptile

    开源推荐
    kk-anti-reptile
    1
    1
    9
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ruokai728
      ruokai728 last edited by

      kk-anti-reptile是,适用于基于spring-boot开发的分布式系统的反爬虫组件。

      kk-anti-reptile的系统要求:基于spring-boot开发(spring-boot1.x, spring-boot2.x均可) 需要使用redis。

      kk-anti-reptile使用基于Servlet规范的的Filter对请求进行过滤,在其内部通过spring-boot的扩展点机制,实例化一个Filter,并注入到Spring容器FilterRegistrationBean中,通过Spring注入到Servlet容器中,从而实现对请求的过滤。

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

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

      目前规则链中有如下两个规则:ip-rule通过时间窗口统计当前时间窗口内请求数,小于规定的最大请求数则可通过,否则不通过。时间窗口、最大请求数、ip白名单等均可配置;ua-rule通过判断请求携带的User-Agent,得到操作系统、设备信息、浏览器信息等,可配置各种维度对请求进行过滤。

      命中爬虫和防盗刷规则后,会阻断请求,并生成接除阻断的验证码,验证码有多种组合方式,如果客户端可以正确输入验证码,则可以继续访问。

      项目地址: https://gitee.com/kekingcn/kk-anti-reptile

      替代文字

      1 Reply Last reply Reply Quote 0
      • First post
        Last post
      8
      玻
      U
      A
      大
      A
      青
      黑
      低
      天
      白
      快
      爱
      白
      美
      此
      荒
      为
      哭
      柳
      无
      真

      社群
      昆明网页设计交流吧
      友情链接
      • Funtask
      • Funtask 社区
      • SUWIS
      • 云南北大青鸟
      ©2019-2020 滇ICP备20006698号