如何设计一个健壮而且厉害防爬策略

15 篇文章 0 订阅
14 篇文章 0 订阅

0.首先你得有一个能扛住爬虫的可以计算黑白名单的数据库,当然我们选择redis,单台 qps 达到20000+,杠杠的,然后你得在不影响业务的情况下来验证爬虫,我们可以通过异步读取nginx的access.log进行校验,前台只需要在关键的功能点判断一下ip是否在黑名单即可

1. 同一个ip在某个功能点一秒两次请求算爬虫,将ip加入黑名单,防住大部分的爬虫

2 .截取一段请求列表,如果某一个useragent出现的频率远远大于该正常该浏览器占有的比例,全部算爬虫,这里容易误杀,可以通过一个强壮的验证码来避免,一定要强壮,要不反而会方便爬虫!这个方法已经验证,特别厉害,特别是半夜没人的时候,杀的爬虫屁滚尿流

3.其他有针对性策略,通过user-agent  referer,等特点,直接永久封禁ip

例如 user-agent 是python urllib,httpclient,等明显的 爬虫的http库等,referer不符合页面跳转逻辑等

4.目前验证码已经很难防住现在的爬虫了,随便去买个第三方的服务,再复杂的验证码也能搞定,现在神经网络太厉害了,

目前的策略是通过手机来解锁被封禁的ip

5.针对2的,如果有的人随机换user-agent,那么就再来一条策略,如果半个小时内,同一个ip user-agent超过5种,永久封禁

6.用户行为检测,对某个关键功能检测用户的行为,超过一定次数没有检测到人类行为,永久封禁,具体方法大家可以自己设计,比如鼠标停留,轨迹等,设计的一定要隐秘,不然很容易被突破,一定要做好测试,防止误杀

7.对访问请求进行严重性评判,设立一下标准,如果某个ip情节特别严重,直接永久封禁,别看这条不起眼,但是效果非常好

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值