跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 有没有什么简单好用的反爬虫办法?
未分類
2021 年 2 月 5 日

有没有什么简单好用的反爬虫办法?

有没有什么简单好用的反爬虫办法?

資深大佬 : LeeReamond 3

如题,以前没认真研究过反爬虫的问题,因为站点日活少,并不感觉会被攻击或其他,但是最近想到这个问题,我个人水平十分业余,问一下各位大佬有没有什么 common practice

我个人的爬虫使用经验中,主要有几类反爬措施,

其一是使用 refer,判断 clientagency 这种比较原始的方式,

其二是将页面套在 iframe 中进行懒加载

其三是类似 pixiv 最近几年的操作,登录时接入了一个某某反爬业务,前端 js 会生成一些东西,非模拟登录很难得到这些数据

对我个人而言,因为我也不是专门做爬虫的,通常反爬如果达到第三层,就会拦住我。

=====

我目前感觉可行的有效反爬办法如下(基于 spa,有权限验证,但这并不妨碍直接调用数据接口)

一是部署时限制接口访问频次,比如短期大量访问后暂时屏蔽。

二是检验 refer

三,也是我想问的,前端有没有一些好用的工具,可以实现强制用户如果想爬虫也必须使用模拟客户端?比如混淆过的 js 代码生成一些 hash 之类的。

后端又如何对其合法性进行验证呢

大佬有話說 (20)

  • 資深大佬 : wunonglin

    没有。

    搞那么多花里胡哨的,只要不需要手工验证,用 chromedp 都能给你爬没咯

  • 資深大佬 : ijrou

    看你这么问,我只能说:没有
    如果是大牛,,,,办法很多,,,但也不是完全反爬。。

  • 資深大佬 : imgbed

    用户打开网页先来个图灵测试再显示内容

  • 資深大佬 : favourstreet

    不加区分地随机把一部分请求的响应时间拖长十秒,我相信爬虫永远不会比用户有耐心。

  • 資深大佬 : fiveelementgid

    没有,selenium+Chrome driver 在浏览器一级模拟,根本没办法
    RECAPTURE of Google 除外(

  • 資深大佬 : systemcall

    注册的时候要手持 sfz,浏览必须得短信登录,看到一半就要求用户下载 App,电脑上面的话就让用户扫码下载。App 要求各种权限来做设备指纹,不给权限就闪退,设备指纹觉得有问题就封号,没问题的话时不时短信验证一下,之后摄像头偷拍几张做人脸识别,有问题就封号
    实在要做 pc 版,就偷偷读一下用户的浏览记录,浏览记录和之前的用户画像差的大了就标记一下,让用户转到手机上用。时不时录下屏、扫下进程、分析一下局域网设备,觉得不对劲就把用户赶到手机 App
    把那些恶心人的技术都加上去就行了

  • 主 資深大佬 : LeeReamond

    @systemcall 我明白了,百度才是反爬届的大哥大!

  • 資深大佬 : Jhonohn

    每次登陆付费 0.1,登陆成功后 1 分钟返 0.1,让支付宝帮你验证对方是不是爬虫

  • 資深大佬 : locoz

    如果你只是想要提高爬虫的成本,那你就把所有东西都变成登录可见,或者核心会被爬的那些都变成登陆可见,并且提高账号注册门槛,比如简单粗暴地使用外置登录(包括但不限于 QQ 、微信、Google 等),这样就可以快速将门槛提升到新手和一般水平的人没法好好爬的程度了。

    另外,如果是商业性质的东西,你还可以加那种 Web 防火墙,自带的防 CC 攻击功能就能挡住很多一般水平的,花钱买专门的反爬虫服务的话效果更佳。

  • 主 資深大佬 : LeeReamond

    @locoz 是这样,如果用登录限制的话,就像现在这样,不排除有认证用户爬取数据的嫌疑,因为本身就是提供数据服务的,对方对数据有兴趣也并不奇怪。比如现在的 jwt 登录策略,只需要拿到 token 之后就可以退出模拟了,感觉成本并不是很高。防 CC 的话感觉,因为我们现在 nginx 已经设置了一个比如一秒访问一次的频率,最多也是每分钟被访问 60 次,这种频次应该离攻击还远,不会被挡。

  • 主 資深大佬 : LeeReamond

    @locoz pixiv 那个应该就是专门花钱买的反爬虫服务,我印象中几年以前,大概三四年以前,pixiv 的登录接口我自己是可以搞定的,然后到一两年前有需求的时候看了一眼发现搞不定了,似乎接入了谁家的反爬服务,但是 github 上还是开源了不少破解的东西。我感觉这样一来的话不如自己实现了,反爬做的再严密,数据价值到位总归有人会破开,不如自己做个简单点的原型,可以拦截 99%的菜鸟

  • 資深大佬 : johnsona

    发现异常 ip,投毒,对方要找出有毒的,要再来一遍

  • 資深大佬 : lichdkimba

    @favourstreet 爬虫才有耐心吧。。。。。都是机器

  • 資深大佬 : Atom931989614

    @Jhonohn 用户跑没了

  • 資深大佬 : paradoxs

    爬虫越难进,普通的用户也越难进。

    爬虫不会没 ,但是用户会没。

  • 資深大佬 : nswdhy

    用 webfont 替代部分文字呀,他爬去的就是残缺不全的一些文本。

  • 資深大佬 : zuiluo

    写了很久的爬虫的来说说,想反爬,增加爬虫成本的几个步骤

    接第三方安全认证,域名走他们的安全认证,再重定向回来,否则不能访问(自己找开源库写也行,浏览器指纹认证,一系列验证码都加上去 /js 强力混淆 /接口字段名混淆 /…)

    IP 请求频率要限制死,超过正常频率直接封;(当然不要封太久,防止误伤)

    文本数据做字体加密,字体文件每次访问都不一样

    用户鼠标轨迹做认证,前端必须定时提交(可以找第三方服务来认证识别,不然自己训练基本可用模型识别太麻烦了),否则封

    这一整套搞上去,安全认证和验证码三天两头改一次,还没爬的基本直接放弃,已经爬的很快就受不了了。

  • 資深大佬 : wzzzx

    定期随机更改数字字段呢 有没有什么简单好用的反爬虫办法? 有没有什么简单好用的反爬虫办法? 有没有什么简单好用的反爬虫办法? 验证码也是随机更改

  • 資深大佬 : hxse

    1. 不要用网页
    2. 把 text 转成 canvas, 做好混淆和加密

  • 資深大佬 : sess222

    天猫国际的反爬就很好弄,限定每个实名账户一次性可访问 40 页,超过 40 页就要滑动验证码,再划十页直接把你 BAN 了。。。爬虫有啥用,你真人上去都不行。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具