V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
jugelizi
V2EX  ›  JavaScript

如何知道用户打开了控制台

  •  
  •   jugelizi · 2018-03-24 12:50:33 +08:00 · 8292 次点击
    这是一个创建于 2197 天前的主题,其中的信息可能已经有所发展或是发生改变。

    发现用户打开调试模式就执行一些特殊的代码

    40 条回复    2018-03-26 13:44:32 +08:00
    R18
        1
    R18  
       2018-03-24 12:55:11 +08:00 via Android   ❤️ 13
    (function () {
      var re = /x/;
      var i = 0;
      console.log(re);
      re.toString = function () {
        return alert('第 ' + (++i) + ' 次打开控制台');
      };
    })();
    SourceMan
        2
    SourceMan  
       2018-03-24 12:58:36 +08:00 via iPhone
    前几天搜索过这个问题,检测到控制台打开
    while(1)
    azh7138m
        3
    azh7138m  
       2018-03-24 13:05:33 +08:00 via Android
    @R18 双击 666
    laoyur
        4
    laoyur  
       2018-03-24 13:31:34 +08:00
    有人可以解释一下一楼的原理吗
    nyanyh
        5
    nyanyh  
       2018-03-24 13:31:58 +08:00   ❤️ 2
    之前遇到过在脚本里插触发调试器的 while(1) { debugger; }
    yaerda
        6
    yaerda  
       2018-03-24 13:42:58 +08:00   ❤️ 4
    gdtv
        7
    gdtv  
       2018-03-24 13:52:23 +08:00 via Android
    突然想到一个恐怖的问题。假如我们是生活在神族虚拟的电脑世界里面,我们怎么知道神族的开发人员打开了控制台?
    airyland
        8
    airyland  
       2018-03-24 13:54:22 +08:00
    上面的方法估计在新版 Chrome 不能用了,但是在微博上有看到另一个方法,找不到具体微博了。
    cutlove
        9
    cutlove  
       2018-03-24 13:55:37 +08:00
    完了,感觉今后面试又增加了一道题
    wplct
        10
    wplct  
       2018-03-24 13:57:15 +08:00
    遇到过无限 debug 的
    winterbells
        11
    winterbells  
       2018-03-24 13:59:35 +08:00 via Android
    @gdtv 也许控制台就没关过
    greatghoul
        12
    greatghoul  
       2018-03-24 14:05:12 +08:00 via Android
    费这个心干嘛,用户说不定写了个浏览器插件,那你还咋整
    yingfengi
        13
    yingfengi  
       2018-03-24 14:11:07 +08:00 via Android
    @airyland 醒醒,天亮了
    liuyin
        14
    liuyin  
       2018-03-24 14:12:56 +08:00 via iPhone
    前两天就遇到过,不管是先打开,还是后打开控制台,无限 debug。
    zjsxwc
        15
    zjsxwc  
       2018-03-24 14:15:30 +08:00
    我记得招商银行的手机网页支付时,如果打开了控制台他会暂停,那么我觉得应该是有个事件
    zjsxwc
        16
    zjsxwc  
       2018-03-24 14:23:06 +08:00   ❤️ 2
    @zjsxwc 找到了是这段 js 代码
    ```

    var _0xcf364 = function() {
    function _0x526e38(_0x1b074) {
    if (('' + _0x1b074 / _0x1b074)['length'] !== 0x1 || _0x1b074 % 0x14 === 0x0) {
    (function() {}
    ['constructor']('debugger')());
    } else {
    (function() {}
    ['constructor']('debugger')());
    }
    _0x526e38(++_0x1b074);
    }
    try {
    _0x526e38(0x0);
    } catch (_0x382e39) {}
    };
    _0xcf364();


    ```
    honeycomb
        17
    honeycomb  
       2018-03-24 14:26:28 +08:00 via Android
    @zjsxwc 看来浏览器要阻止这个漏洞
    Terry05
        18
    Terry05  
       2018-03-24 14:38:09 +08:00
    每次打开面度的页面,打开控制台就能出现特别的 Log 就觉得好神奇
    Daoma
        19
    Daoma  
       2018-03-24 15:22:39 +08:00
    @airyland 刚试了一下 Chrome 和 Firefox 都阔以,挺神奇的,大学党学习了
    geekcorn
        20
    geekcorn  
       2018-03-24 16:37:51 +08:00
    mark 一下
    dobelee
        21
    dobelee  
       2018-03-24 17:33:19 +08:00 via Android
    mark
    qnwx1
        22
    qnwx1  
       2018-03-24 17:35:46 +08:00
    mark
    carakan
        23
    carakan  
       2018-03-24 17:53:22 +08:00 via Android
    mark
    scriptB0y
        24
    scriptB0y  
       2018-03-24 18:58:41 +08:00 via iPhone
    @wplct 爬虫遇到过 恶心的一笔……
    MinonHeart
        25
    MinonHeart  
       2018-03-24 22:12:56 +08:00 via iPhone
    无限 debug (自作聪明?!),chrome 把断点打掉就可以了
    CloudnuY
        26
    CloudnuY  
       2018-03-24 23:16:36 +08:00
    可以看看 p♂r 社 的网页版代码
    zhijiansha
        27
    zhijiansha  
       2018-03-24 23:27:20 +08:00 via iPhone
    关注
    GoLand
        28
    GoLand  
       2018-03-24 23:57:35 +08:00
    @gdtv 什么事都能想出这些自己脑补出来的累么?
    zjyl1994
        29
    zjyl1994  
       2018-03-25 00:27:01 +08:00
    看过一个库,是根据网页宽度或高度突然变化分析的,只要不是分离式的调试窗口都能感知,这个思路可以借鉴一下
    cosformula
        30
    cosformula  
       2018-03-25 01:16:58 +08:00 via Android
    @zjyl1994 在开着控制台的情况下输入网址...
    chinvo
        31
    chinvo  
       2018-03-25 01:21:19 +08:00
    之前就遇到过无限 debugger 的,直接把断点关掉就好

    检测页面宽度 /高度变化的也能用分离式或者提前开的方式规避
    Mavious
        32
    Mavious  
       2018-03-25 06:14:12 +08:00 via iPhone
    这个要马克。最烦你们这种反控制台的人了。抓个包都不让人好好抓了。
    不让用控制台的话还有 fiddler 呢,这个你们就控制不了了。
    xuanyuanaosheng
        33
    xuanyuanaosheng  
       2018-03-25 08:08:55 +08:00 via Android
    mark 下
    580a388da131
        34
    580a388da131  
       2018-03-25 08:43:33 +08:00
    客户端代码费那劲干嘛,像 Facebook 一样在 Console 给个大大的安全提示就好了嘛。
    反正会技术的怎么都能绕过。
    DOLLOR
        35
    DOLLOR  
       2018-03-25 10:10:14 +08:00 via Android
    console.warn("严正声明:在此执行任何代码造成任何不可预知的经济财产损失或人员伤亡,本网站概不负责。")
    Antidictator
        36
    Antidictator  
       2018-03-25 10:55:42 +08:00
    @MinonHeart #25 我试过了好像不行,直接卡死了。关闭 console 也没用了 emmmm
    wjm2038
        37
    wjm2038  
       2018-03-25 16:19:31 +08:00 via Android
    @CloudnuY 我开了控制台好像也没啥事情啊。。
    ahlixinjie
        38
    ahlixinjie  
       2018-03-25 18:28:35 +08:00 via iPhone
    @gdtv 可以看一下 贞子,是小说不是电影 ,非常精彩,里面的人意识到了自身是被创造出来的,并找到了与外界交流的方法,成功的把自己带到了外界
    Levox
        39
    Levox  
       2018-03-25 19:28:43 +08:00
    mark
    leopku
        40
    leopku  
       2018-03-26 13:44:32 +08:00
    @gdtv 兽族的 zerg 可破
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5237 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 09:15 · PVG 17:15 · LAX 02:15 · JFK 05:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.