网站被拥有强大 ip 代理池的爬虫搞, ua 随机变化,怎么办
每个 ip 只访问 1-2 页面,没法封锁 ip ,ua 也是随机变化
看看 tls 指纹?
能否再详细?
只访问一个页面没办法,人肉用这种办法也能把你的网站搬空
爬虫本质上是无法阻止,只要你把信息放出去了迟早会被别人全拿走
看来信息没法公开了
普通用户降权看不到全部文字。
爬虫注册用户加上 cookie 也一样
#2
英文关键词叫 tls fingerprint ,这个网站 tlsfingerprint.io/ 提供了比较详细的介绍。
简单来说,不同的 TLS implementation (浏览器 / 各种语言的 HTTP 库)在建立 TLS 连接的时候发送的信息(支持的密码学套件 / 签名算法之类的)不一样。如果对面使用了某些流行的 HTTP 库,并且没有试图模仿浏览器的行为的话,你可以利用 tls fingerprint 把它和正常的浏览器区分开来。
比如目前 Chrome 的 tls fingerprint 是 e47eae8f8c4887b6 ,可以在这里查看详细信息 tlsfingerprint.io/id/e47eae8f8c4887b6
谢谢
加 cookie ,cookie 需要 js 来运算
这样爬虫需要 js 引擎才能正常访问
或者接入 cloudflare 算了
如果代理 IP 很多,除了商业方案,基本无解
这类爬虫就是用模拟浏览器发起访问的,支持 js 预算
是模拟还是真实的浏览器?
还是接入 cloudflare 吧
cloudflare 是 WAF ,这个需要 BOT WAF
无头 chrome ,headless chrome
cloudflare 实际上在国内访问有抽风问题,不敢用
直接上阿里的 WAF 吧,按量付费
限制只允许家宽访问?
他们的爬虫就是家宽 ip ,估计是很多家庭肉鸡
现在的代理 IP 都是家宽
这,所以你是怎么看出来是爬虫?
因为网站平时没有什么流量,突然来了上千个,非常固定的访问频率 也没有来路
范围时间内访问次数过多直接禁 ip ,关键字搜 iptable 防 ddos
这样的话确实没啥好办法,家宽封 ip 也不合适
一个 ip 就访问 2 次 就换了,怎么封锁?
#22
这个只能防那些非常蠢的爬虫。
现在爬虫都是单机只访问几页,iptables 基本没有方案可以防住。
看到怀疑的扔假数据去
s3.bmp.ovh/imgs/2022/02/b46f219f47575811.png
help.aliyun.com/document_detail/159895.html
cloud.tencent.com/document/product/627/40156
没法怀疑啊,我能看出是爬虫就是网站没有啥流量,突然来了,固定的频率才看出来是爬虫
TLS 指纹效果不大,有代理可以完美绕过
提供个思路,webrtc 检测 ip ,检测通过了才给访问。顺便用 websocket 检测是否有代理
可以统计下重复率,代理池要钱的,数量足够大没那么便宜的,封到它得不偿失
ip 代理池要钱的,封到对方不想花钱买 ip 爬了
只限注册用户访问,同时提高注册成本,比如验证码,或者接入第三方登录,把风控交给大厂来解决。看样子对方下了不少的成本来爬,看来你的数据挺值钱呀
我以前用第三方工具,多线程下载视频。结果后来,网页不能看视频了,video 标签消失,下半部分的分享栏的排版错乱。是这两个网站:哔哩哔哩、YouTube
另外不要自动封禁,不定时批量封 ip
要让对方觉得你是手工处理的
某查查都来爬数据,真是长见识了
加验证
点几个字或者移动到相应位置
我还想给搜索引擎的蜘蛛数据呢
#33
ip 超级便宜,绝对白菜价。
1000 块钱爬你能爬到你怀疑人生。
有没有国外的便宜代理 IP?
我去年拿市场上的 ip 代理池服务搞过 ddos 和 ddos 防护测试,只能说封得够快的话,那玩意量大烧钱。
突然想起来之前在 v 站看的这个了:做了一个基于 JavaScript VMP 的滑动验证系统 www.hesudu.com/t/828470
vid, uid, ip, waf
经验谈,封上 1000w ip 就好了。
把网站接入微信二维码扫描登录
验证码拦截
如果确定平时没啥流量,干脆关几天,避避风头喽。。
或者给爬虫喂点“屎”
用字体反爬给爬虫喂点“屎”
参考天眼企查猫眼这些
随机加验证码拦截,每次都不输入就降级。
多次不输入,直接 BAN 了。
要么就服务器生成信息丢给客户机,然后在爬虫访问最多的网页上面+上传信息。
假信息或者快速访问,直接 ban 一天。
有隧道代理,一分钟换一个 ip 很简单的
将部分文字转换成图片,文字扭曲变形
话说,你怎么识别出某查查的?这个访问特征不可以作为封禁指标么?
字体反爬,验证码反爬,提高爬虫的难度和成本,要是这样对方依旧财大气粗那就无解了
如果你这数据值钱,那就搞成付费可见,否则只要效益高于采集的成本就总会有人解决掉你的反爬措施,对抗本质上只是互相烧钱而已,对你来说并没有啥意义;而如果数据不值钱,甚至可以公开给搜索引擎索引,那你管它干啥呢?
接入 cloudflare ,让 它们 随便搞
要是遇到正常访问者强制禁用 webrtc 怎么办(或者这个爬虫是 headless chrome ,能正常加载 webrtc ?)
禁止无头浏览器访问,关注微信公众号给一个密码,输入密码解锁。
握爪,说了我想说的
hCaptcha www.hcaptcha.com
- 在网络层面: 国外,国内运营商 IDC ,国内各个云的 IP 段全封,只保留家宽段和手机段,如果在保留的这些段中发现了直接将该 IP 按市或者省大段封,或者市把这些跳转到随机验证页面。
- 网站本身:应该考虑随机验证手段。
内容登陆可见,判断登陆的 loginToken 和 IP 挂钩,IP 变了就自动退出登陆,同一个账号密码短期登录多次需要 js 滑动验证码或者手机邮箱验证码。
cloudflare 接入吧。
或者只让登录可见,对登录用户访问频次限制。
我直接打开某查查的某条内容,里面有我网站留的尾巴链接
被人恶意爬取,我开了 cdn ,无用流量烧钱啊
你自己都说特征了,没有来路直接返回到其中一个固定内容页(如果 404 或者返回主页会被他很快发现)。
如果是重要信息一定要加登录,登录用户才能访问。
之后限制用户访问频率就行了
登录可见,token 绑定 IP 和浏览器信息(不止 UA ,还有很多其它信息,比如屏幕分辨率什么的),增加用户注册成本,比如绑定手机什么的
都用无头浏览器了,那验证码那些只是增加点成本 滑块也只是多加个函数的问题
有参数可以绕过服务器对浏览器是不是自动化的检测
弄成登录可见,从账号 IP 关联上想办法限制
或者前面老兄说的 随机文字转图片,恶心下对面
字体反扒,参考大众点评
#64 那就是单纯运营模式的问题了,建议还是考虑弄成付费可见,大家都省事,你还能直接获得收益
#64 如果没啥价值,只是你自己开个网站玩,那直接换免费 CDN 承载也是个可以考虑的选择
思路就是把文字变成图形
要不你直接这两天把所有访问你站的 IP 都给 ban 了?反正平常没多少流量。。直接 ban 了再说?
我觉得你直接加人机验证,新 IP 先过一次人机验证,做不对就 ban 掉。另外给搜索引擎和你们自己的 IP 地址加白名单。
加验证码直接解决问题啊
这样整正常流量都没了,LZ 不说网站干什么用的就很可疑
什么网站啊
“... 只保留家宽段和手机段,如果在保留的这些段中发现了直接将该 IP 按市或者省大段封,或者市把这些跳转到随机验证页面 ...” 现阶段大多数地方家宽都已经是 NAT 非公网模式了,所以一般爬虫不会在这些家宽网段中,爬虫大多是在非家宽段,少量地区家宽段封了也就封了,不影响大局。 另外 如果你觉得这些用户也很重要那么就把这些段的用户跳转到爬虫验证
为什么要歧视爬虫,爬虫也有访问网络的权利啊 😄
给爬虫一次机会的话 robots.txt ,毕竟 google 或搜索引擎也要爬
要说对于模拟正常用户的虫还不好办容易误杀,
对于每 ip/ua 就 1-2 个页面这种上古级池子最好办了 新 viewer ( ua 或 ip )需要一次验证码,之后发个 cookie token 有虫的话整个 C 段 24 小时强验证,就不是对方有多少个 ip 的问题了,看他有多少个 C 段吧
ipv6 回头再说
话说要不是 cloudflare 国内不友好哪用得着那么麻烦
说到爬虫,我觉得美团挺厉害的,自己弄了一套字体?看起来都是汉字,复制下来都是乱码……
可以直接上 cloudflare ,设置防火墙规则。
cf 在国内没节点,上了干啥,至于 IP,,,,爬虫代理 IP 很便宜的,价格低的离谱,而且短效 IP 价格更低,一个有效期几分钟,也就加限制单 IP 频率有点用,我就是做这个的
完美的方案肯定不会免费分享,能分享的基本不是好方案
让各位 GNOME 用户开心一下(如果有的话 github.com/AlynxZhou/gnome-shell-extension-inotch/ 啊啊啊啊啊啊啊啊啊啊啊…
四年前,我在QCon上演讲了一个《建一支强大的小团队》(整理后的PPT分享于这里)提到了工程师文化,今天,我想在这里再写一篇关于工程师文化的文章,一方面是因为我又有了一些想法…
1.有公网 IP ,并且用了 curl ifconfig.me 检测了。2.sudo ufw status 看到防火墙规则 22 Allow Anywhere ,并且 sshd…