V 友们有没有防止灰产爬虫的方法?

2020-04-24 11:08:40 +08:00
 zhuwd

公司平台每天都会被灰产爬到很多数据,用的代理池和大量真实用户帐号,模拟登录并直接请求接口,请教 V 友大佬有啥应对策略吗

7100 次点击
所在节点    程序员
55 条回复
winnerczwx
2020-04-24 11:42:35 +08:00
1.先把大规模访问的账号封掉一批。
2.限制账号注册,提升注册门槛,比如手机号认证
3.账号访问频率限制
4.前端获取 api 时加个 js 加密的字段,可以防新手
5.前端拉取 js,css 的时候可以缓存 ip 或账号数据,如果获取 api 之前没拉取 js.css 就不返回数据
6.如果你的数据真的有价值,总有大佬会出现的,别挣扎了,给爬完拉倒

剩下的等楼下大佬补充
mrzx
2020-04-24 11:44:07 +08:00
总之原理就是同一个 ip 地址在多少 X 秒钟访问同一个 url 就禁止一段时间。

代理池的 ip 总是有限的吗?你把禁止时间调的长一些,把判断规则方式在改进一下(稍微宽松点,减少误判)。

时间上一禁就禁一天,你看看他有多少地址池可以用?

最多后期就是跟你玩猫捉老鼠,猜测你的规则,从而延长扫描时间的间隔。。但如果真的把扫描间隔的时间拉的很长,扫描你的平台成本过高,他们也会考虑考虑的。。。

你不可能阻止别人爬你的数据的(除非你对外不公开服务),只能增加他的成本。。。到他觉得成本高到爬你不划算。。。
sparrww
2020-04-24 11:44:34 +08:00
有价值的数据,注册才能访问,限制账号单位时间请求次数。
没价值的,接口加个随机 token,别人也没心情去看你 js 怎么生成的
gz911122
2020-04-24 12:04:31 +08:00
公司什么平台可以发一下.

不看具体的也不好分析
ladypxy
2020-04-24 12:05:54 +08:00
最简单的,上 Cloudflare,然后开启反 bot
如果面向国内?那参考楼上的
aWangami
2020-04-24 12:11:54 +08:00
给他投点毒
opengps
2020-04-24 12:14:11 +08:00
真重要的接口就来个活体验证
abcbuzhiming
2020-04-24 12:14:12 +08:00
多管齐下:
*技术手段楼上说了不少,我就不多说了。
*既然真实用户存在,封真实用户,并且要求新注册用户提交更详细的个人资料,反向钓鱼
*查对面的真实身份,查到了就发律师信。现在对灰产爬虫管的很严的
renmu
2020-04-24 12:14:31 +08:00
数据投毒,增加复杂验证码,接口关键字段加密
lasuar
2020-04-24 12:18:29 +08:00
2 的想法太简单了。如果用了商业代理,你只能认为代理池 IP 是无限的。反爬要从技术上来解决,可以参考商标网,如果没条件请专门的反爬工程师,那就自己去学习爬取途径再研究反爬措施。
Cmdhelp
2020-04-24 12:30:32 +08:00
最重要的是 提高注册难度,
通过账号限制目前比较有效,
告诉你靠 ip 是没用的,代理池可能一个 ip 用几次甚至一次就弃用了,

账号采集频率,异地登陆频率,直接封号,返回脏数据(这个比封号恶心)
endoffight
2020-04-24 12:30:38 +08:00
1,加上 cf 的验证
2,12315 的验证码
3,js 监控特殊变量,防止模拟浏览器
4,随机返回假数据

以上能解决 90%的爬虫
aiquit
2020-04-24 13:06:32 +08:00
我之前做过语音验证码,返回一段话,你得把这段话念出来才可以通过验证。。。
jakezh
2020-04-24 13:14:51 +08:00
@aiquit 这是最没用的验证码
文字转语音 api 可破 还不如 captcha
lmoon
2020-04-24 13:17:28 +08:00
用谷雨解字
wszgrcy
2020-04-24 13:30:15 +08:00
puppeteer 无解吧?就算加验证码,也可以使用半人工方式解决。。。当然要看这个网站价值多大了
fancy111
2020-04-24 13:33:14 +08:00
先去学学淘宝价格怎么反爬的吧
triangle111
2020-04-24 13:39:07 +08:00
看看四库一平台是咋反爬的呗
Fizzyi
2020-04-24 13:44:10 +08:00
@triangle111 AES 加 网易易盾呗
Fizzyi
2020-04-24 13:44:44 +08:00
@triangle111 还有 IP,限制能看的条数

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/665594

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX