V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
main1234
V2EX  ›  问与答

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

  •  
  •   main1234 · 11 天前 · 1180 次点击

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

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

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

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

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

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

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

    全防做不到的,中心思想还是迫使对方降频,不要影响服务器,真正要全防,那一定达到腾讯那级别,好友认证,哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5118 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:03 · PVG 17:03 · LAX 02:03 · JFK 05:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.