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

2018-03-24 12:50:33 +08:00
 jugelizi

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

8532 次点击
所在节点    JavaScript
40 条回复
R18
2018-03-24 12:55:11 +08:00
(function () {
  var re = /x/;
  var i = 0;
  console.log(re);
  re.toString = function () {
    return alert('第 ' + (++i) + ' 次打开控制台');
  };
})();
SourceMan
2018-03-24 12:58:36 +08:00
前几天搜索过这个问题,检测到控制台打开
while(1)
azh7138m
2018-03-24 13:05:33 +08:00
@R18 双击 666
laoyur
2018-03-24 13:31:34 +08:00
有人可以解释一下一楼的原理吗
nyanyh
2018-03-24 13:31:58 +08:00
之前遇到过在脚本里插触发调试器的 while(1) { debugger; }
yaerda
2018-03-24 13:42:58 +08:00
gdtv
2018-03-24 13:52:23 +08:00
突然想到一个恐怖的问题。假如我们是生活在神族虚拟的电脑世界里面,我们怎么知道神族的开发人员打开了控制台?
airyland
2018-03-24 13:54:22 +08:00
上面的方法估计在新版 Chrome 不能用了,但是在微博上有看到另一个方法,找不到具体微博了。
cutlove
2018-03-24 13:55:37 +08:00
完了,感觉今后面试又增加了一道题
wplct
2018-03-24 13:57:15 +08:00
遇到过无限 debug 的
winterbells
2018-03-24 13:59:35 +08:00
@gdtv 也许控制台就没关过
greatghoul
2018-03-24 14:05:12 +08:00
费这个心干嘛,用户说不定写了个浏览器插件,那你还咋整
yingfengi
2018-03-24 14:11:07 +08:00
@airyland 醒醒,天亮了
liuyin
2018-03-24 14:12:56 +08:00
前两天就遇到过,不管是先打开,还是后打开控制台,无限 debug。
zjsxwc
2018-03-24 14:15:30 +08:00
我记得招商银行的手机网页支付时,如果打开了控制台他会暂停,那么我觉得应该是有个事件
zjsxwc
2018-03-24 14:23:06 +08:00
@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
2018-03-24 14:26:28 +08:00
@zjsxwc 看来浏览器要阻止这个漏洞
Terry05
2018-03-24 14:38:09 +08:00
每次打开面度的页面,打开控制台就能出现特别的 Log 就觉得好神奇
Daoma
2018-03-24 15:22:39 +08:00
@airyland 刚试了一下 Chrome 和 Firefox 都阔以,挺神奇的,大学党学习了
geekcorn
2018-03-24 16:37:51 +08:00
mark 一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/441006

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX