js 能不能检测到用户打开了浏览器的调试面板正在抓包? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
请不要在回答技术问题时复制粘贴 AI 生成的内容
kisshere

js 能不能检测到用户打开了浏览器的调试面板正在抓包?

  •  
  •   kisshere Dec 31, 2020 5148 views
    This topic created in 1942 days ago, the information mentioned may be changed or developed.

    想屏蔽掉打开了浏览器调试面板的用户,js 除了监听“F12”、“Ctrl+Shift+I”的按键之外,还有哪些方法,求 V 友集思广益

    ruanimal
        1
    ruanimal  
       Dec 31, 2020
    开了浏览器调试面板的用户(大部分) = V2EX 用户
    楼主来这里问,感觉有点意思
    des
        2
    des  
       Dec 31, 2020
    maocat
        3
    maocat  
       Dec 31, 2020   12
    好的,我马上用 fiddler 抓包
    ciqulover
        4
    ciqulover  
       Dec 31, 2020 via iPhone
    最简单兼容性管广泛的办法是使用监听一个一个对象的 getter 事件然后 console.log 打印,控制台打开的时候会触发事件,在事件监听里直接 window.location.href 跳跑,正常情况没办法避开。
    tangchi695
        5
    tangchi695  
       Dec 31, 2020
    只能对付只会用调试面板的人。
    otakustay
        6
    otakustay  
       Dec 31, 2020
    当你想和用 devtool 的人对着干,你就是在和一个技术人员对着来了,考虑到对方大概率的专业性,基本上你输定了
    ethusdt
        7
    ethusdt  
       Dec 31, 2020
    通过菜单栏点击进入 devtools 也能被监听到吗
    opengps
        8
    opengps  
       Dec 31, 2020 via Android
    没啥用,毕竟浏览器本身就是要解析看代码的
    billtsui
        9
    billtsui  
       Dec 31, 2020
    拿好不谢,https://github.com/sindresorhus/devtools-detect

    楼主是不是想做反爬啊
    ciqulover
        10
    ciqulover  
       Dec 31, 2020
    ```
    var element = new Image()
    Object.defineProperty(element, 'id', {
    get: function() {
    window.location.href = 'https://google.com'
    },
    })
    console.log(element)
    ```
    直接上代码了,一步到位的办法。
    V 友门倒是可以想一想是否有办法绕过这段代码调试 hhh 。
    VDimos
        11
    VDimos  
       Dec 31, 2020 via Android   1
    加个 debugger,打开了控制台会暂停,然后计时,长时间没执行就是打开了控制台
    misdake
        12
    misdake  
       Dec 31, 2020
    抓包又何必在控制台
    glaucus
        13
    glaucus  
       Dec 31, 2020
    @des #2 试了一下,这个是监听的页面大小变化实现的,用弹出窗口打开就监听不到了
    ccyu220
        14
    ccyu220  
       Dec 31, 2020
    @ciqulover 你这段代码哪里需要绕...
    libook
        15
    libook  
       Dec 31, 2020
    不开浏览器的开发者工具也可以抓包。

    屏蔽了快捷键也可以拿鼠标在菜单里打开开发者工具。
    可以在空白页先开开发者工具再加载 URL 。

    如果想解决防抓包的问题可以考虑在 HTTPS 基础上再加一层加密通信,让抓到的包无法解读内容,当然因为客户端上横竖都会有加解密算法,所以也是可以破解的,只不过代码压缩混淆后可能破解难度会比较高。

    总之,这个像是个 XY Problem 。
    linksNoFound
        16
    linksNoFound  
       Dec 31, 2020
    不要嘲笑楼主,微信就做到了
    ss098
        17
    ss098  
       Dec 31, 2020 via iPhone
    我遇到最多的是无限 debugger,但很简单就能禁用。

    还有打开控制台疯狂 alert 的。
    aogu555
        18
    aogu555  
       Dec 31, 2020
    印象里国家知识产权局的反爬做的很厉害,一进控制台直接跳到加密代码去了
    bgm004
        19
    bgm004  
       Dec 31, 2020 via Android
    你写的什么?值得我打开 f12 看吗
    test005
        20
    test005  
       Dec 31, 2020
    @ciqulover 火狐可破
    love
        21
    love  
       Dec 31, 2020 via Android
    这个我也碰到过,打开控制台浏览器直接卡死,可能是分配了大量内存什么的
    test005
        22
    test005  
       Dec 31, 2020
    我是这么做的

    ```
    switch ( ua ) {
    case 'firefox': {
    var _reg = /x/
    _reg.toString = kill
    console.log(_reg)
    break
    }
    case 'chrome': {
    var _div = document.createElement('div')
    Object.defineProperty(_div, 'id', {get: kill})
    console.log(_div)
    break
    }
    }
    console.clear()
    ```
    Rekkles
        23
    Rekkles  
       Dec 31, 2020
    这个等于刚学武功的想拿内功去参加华山论剑
    hafuhafu
        24
    hafuhafu  
       Dec 31, 2020
    屏蔽不掉这些用户的,浏览器自带的开发者工具也只相当于整合了一些开发常用的插件,费尽心思让对方无法打开控制台,对方反手装一个插件或者应用,该抓包一样抓。
    hive
        25
    hive  
       Dec 31, 2020
    @ciqulover #10 换个浏览器就可以了,这是利用 Chrome 控制台输出 Object 的时候,会获取 Object 的 id 的原理
    WishMeLz
        26
    WishMeLz  
       Dec 31, 2020
    debug
    sDG9xz87SqqCC3mN
        27
    sDG9xz87SqqCC3mN  
       Dec 31, 2020 via Android
    这种方法只能对付只会用调试工具抓包的,别人用 fiddler 抓包你怎么办呢?
    buglesss
        28
    buglesss  
       Dec 31, 2020
    你去试试裁判文书网
    execute
        29
    execute  
       Dec 31, 2020
    , 震慑一下
    ETO
        30
    ETO  
       Dec 31, 2020
    @linksNoFound 没人嘲笑楼主啊,大家都在很认真的回答问题呀。
    About     Help     Advertise     Blog     API     FAQ     Solana     1177 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 89ms UTC 23:47 PVG 07:47 LAX 16:47 JFK 19:47
    Do have faith in what you're doing.
    ubao msn 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