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

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

  •  
  •   main1234 · 10 天前 · 1171 次点击

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

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

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

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

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

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

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

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