一行代码搞定Spring Boot反爬虫,防止接口盗刷!

本文介绍了如何使用kk-anti-reptile组件,通过一行代码在Spring Boot应用中实现反爬虫和接口防盗刷。该组件基于Servlet Filter,采用责任链模式,提供ip-rule和ua-rule等过滤规则。当请求被拦截后,会显示验证码,只有正确输入才能继续访问。接入kk-anti-reptile只需简单配置和前端拦截处理。
摘要由CSDN通过智能技术生成

一行代码搞定Spring Boot反爬虫,防止接口盗刷!


前言:

        做电商网站的时候,总有竞争对手利用爬虫来爬你的数据。如果你没有反爬虫措施,网站都可能被爬垮。好在阿里云现在有一些基础服务,可以帮你反爬虫,但是费用太贵。作为程序员,我们还是希望自己动手解决它!

        我通过一行代码解决掉反爬虫,防止接口被刷后,解决掉了公司多年来对取证并告这些公司的繁琐法律问题。这不,公司给我的 80000 奖金立马就到账了!
在这里插入图片描述

废话不多说,下面开始正文吧!
kk-anti-reptile 是适用于基于 spring-boot 开发的分布式系统的反爬虫组件。


工作流程:

  1. kk-anti-reptile 使用基于 Servlet 规范的的 Filter 对请求进行过滤,在其内部通过 spring-boot
    的扩展点机制,实例化一个 Filter,并注入到 Spring 容器 FilterRegistrationBean 中,通过
    Spring 注入到 Servlet 容器中,从而实现对请求的过滤。
  2. 在 kk-anti-reptile 的过滤 Filter
    内部,又通过责任链模式,将各种不同的过滤规则织入,并提供抽象接口,可由调用方进行规则扩展。
  3. Filter 调用则链进行请求过滤,如过滤不通过,则拦截请求,返回状态码
    509,并输出验证码输入页面,输出验证码正确后,调用过滤规则链对规则进行重置。目前规则链中有如下两个规则。

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

    ua-rule
            ua-rule 通过判断请求携带的 User-Agent,得到操作系统
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

军鹰1314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值