如何识别爬虫和无头浏览器的流量 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
main1234
V2EX    问与答

如何识别爬虫和无头浏览器的流量

  •  
  •   main1234 2024-05-09 13:59:07 +08:00 2463 次点击
    这是一个创建于 518 天前的主题,其中的信息可能已经有所发展或是发生改变。

    佬们,网站一直被爬,怎么能识别出是爬虫呢???并且现在根本防止不了无头浏览器,想实现是无头唤起的页面就提示页面不安全

    15 条回复    2024-05-10 14:49:48 +08:00
    Features
        1
    Features  
       2024-05-09 14:03:13 +08:00
    抖音,小红书,拼多多这三个国内最强防爬团队,都防不住爬虫
    只能增加一点防爬成本,比如进入页面加个谷歌验证码什么的
    但是体验就差了不是...
    识别了无头浏览器,那就用有头的爬
    不行就直接抓你的 api,总有办法的
    zhtyytg
        2
    zhtyytg  
       2024-05-09 14:14:44 +08:00
    老话说得好:只有千日做贼,哪有千日防贼
    ih8es9OIzne0959p
        3
    ih8es9OIzne0959p  
       2024-05-09 14:20:51 +08:00 via Android
    逆向圈有一个梗,拿着一万的工资的程序员对抗三万工资的逆向 er
    jr55475f112iz2tu
        4
    jr55475f112iz2tu  
       2024-05-09 14:34:20 +08:00
    上 cloudflare
    Leeeeex
        5
    Leeeeex  
    PRO
       2024-05-09 14:39:10 +08:00
    无头浏览器?那不就是爬虫吗,直接 b 了拉倒。
    mumbler
        6
    mumbler  
       2024-05-09 15:59:36 +08:00   1
    数据真的很宝贵的话,强制要求登录,然后根据日志封账号,注册账号需要邀请,邀请需要 1 个金币
    duan602728596
        7
    duan602728596  
      2024-05-09 16:46:22 +08:00
    抖音是加验证码,而且用户主页是必出验证码。
    小红书是验证码和对 url 加密,加密算法会对浏览器环境进行判断,node 和无头浏览器算出来的加密结果是错误的。
    对于爬虫的请求,一般都是验证 UA 、Host 、Referer ,对 url 加密。
    无头浏览器环境会有 navigator.webdriver: true 。
    以前有个 app ,直接对 POST 请求的 body 加密后用 gzip 来压缩和解压缩,这也是一个思路。
    duan602728596
        8
    duan602728596  
       2024-05-09 16:46:56 +08:00
    @duan602728596 更正,是 zlib
    krapnik
        9
    krapnik  
       2024-05-09 16:48:47 +08:00
    无头:
    https://infosimples.github.io/detect-headless/
    协议:
    增加逆向成本
    main1234
        10
    main1234  
    OP
       2024-05-09 17:02:30 +08:00
    @duan602728596 解压那个是啥意思???收到压缩的响应后,只有桌面或者 app 上才有 zlib 程序么
    NoOneNoBody
        11
    NoOneNoBody  
       2024-05-09 17:07:21 +08:00
    以我以前玩爬虫的经验,难对付的是验证码、蜜罐(伪 url)、指纹类动态 cookies
    不过时代变了,已经很久没完爬虫了
    shuiduoduo
        12
    shuiduoduo  
       2024-05-09 19:52:18 +08:00 via Android
    接入瑞数能防部分
    dilu
        13
    dilu  
       2024-05-10 12:21:11 +08:00
    加密只能提高逆向成本,我有个招

    首先接口需要登录,记录用户请求次数,人工分析出来哪些账号是爬虫,其实这点很容易分辨。

    然后把高度疑似爬虫用户加到一个名单中,命中这个名单的请求,随机的在正确的数据中插入一些脏数据。

    同时为了防止真正用户受到影响,也可以在前端加个提示就说网络错误让用户刷新一下,下次的请求不要写脏数据就行。

    这样一段时间对方肯定不爬了。
    main1234
        14
    main1234  
    OP
       2024-05-10 13:51:10 +08:00
    @NoOneNoBody 有相关的文章、书、资料能推荐下么
    NoOneNoBody
        15
    NoOneNoBody  
       2024-05-10 14:49:48 +08:00
    @main1234 #14
    就算能找到,都老旧了,你作为守方,去找指纹相关的资料好了
    其实思路很简单,前端动态生成一个随机值记入 cookies ,但这个值后端可逆,这个值关联性越强(关联其他控件或者前后页)越难解,然后对这个值如何判断和对应措施是什么,那就是网站的事了
    如何生成那是个技巧,简单的话,爬虫也可以模拟生成

    至于蜜罐,就是机器会捕捉到并访问,但人不会点击的东西
    可以利用一下自制字体,零宽字符……这些不影响显示,但非常特殊的东西

    全防做不到的,中心思想还是迫使对方降频,不要影响服务器,真正要全防,那一定达到腾讯那级别,好友认证,哈哈
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1100 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 23:19 PVG 07:19 LAX 16:19 JFK 19:19
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86