如何设计一个健壮而且厉害防爬策略
2018-01-08 21:50
316 查看
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
1. 同一个ip在某个功能点一秒两次请求算爬虫,将ip加入黑名单,防住大部分的爬虫
2 .截取一段请求列表,如果某一个useragent出现的频率远远大于该正常该浏览器占有的比例,全部算爬虫,这里容易误杀,可以通过一个强壮的验证码来避免,一定要强壮,要不反而会方便爬虫!这个方法已经验证,特别厉害,特别是半夜没人的时候,杀的爬虫屁滚尿流
3.其他有针对性策略,通过user-agent referer,等特点,直接永久封禁ip
例如 user-agent 是python urllib,httpclient,等明显的 爬虫的http库等,referer不符合页面跳转逻辑等
4.目前验证码已经很难防住现在的爬虫了,随便去买个第三方的服务,再复杂的验证码也能搞定,现在神经网络太厉害了,
目前的策略是通过手机来解锁被封禁的ip
相关文章推荐
- 如何设计出一个比较成功量化策略?
- 如何设计一个优雅健壮的Android WebView?(上)
- 如何设计一个优雅健壮的Android WebView?(上)
- 如何设计一个优雅健壮的Android WebView?(下)
- 如何设计一个优雅健壮的Android WebView?(上)
- 如何设计一个优雅健壮的Android WebView?(下)
- 如何设计一个大型的AJAX应用程序
- 如何设计一个简结的移动互联网站
- 如何设计一个无限分类的数据库
- sql如何获取一个0-15之间的随机数(不包括0,15),而且必须带两位随机的小数
- 如何设计一个秒杀系统
- 如何设计嵌入式系统?带你理解一个小型嵌入式操作系统的精髓
- 一个游戏是如何被设计和开发出来的
- 如何设计一个安全的WEBSERVICE
- 如何设计一个成功的logo
- 如何设计一个K-V存储系统
- 【高并发解决方案】电商:如何设计一个秒杀系统
- 转载:如何设计一个可扩展的用户登录系统
- 通过学习学生信息管理系统软件,C程序中,如何设计和编写一个应用系统?
- 如何设计一个优秀基表结构