发现用户打开调试模式就执行一些特殊的代码
![]() | 1 R18 2018-03-24 12:55:11 +08:00 via Android ![]() (function(){ varre=/x/; vari=0; console.log(re); re.toString=function(){ returnalert('第'+(++i)+'次打开控制台'); }; })(); |
![]() | 2 SourceMan 2018-03-24 12:58:36 +08:00 via iPhone 前几天搜索过这个问题,检测到控制台打开 while(1) |
4 laoyur 2018-03-24 13:31:34 +08:00 有人可以解释一下一楼的原理吗 |
![]() | 5 nyanyh 2018-03-24 13:31:58 +08:00 ![]() 之前遇到过在脚本里插触发调试器的 while(1) { debugger; } |
7 gdtv 2018-03-24 13:52:23 +08:00 via Android 突然想到一个恐怖的问题。假如我们是生活在神族虚拟的电脑世界里面,我们怎么知道神族的开发人员打开了控制台? |
![]() | 8 airyland 2018-03-24 13:54:22 +08:00 上面的方法估计在新版 Chrome 不能用了,但是在微博上有看到另一个方法,找不到具体微博了。 |
![]() | 9 cutlove 2018-03-24 13:55:37 +08:00 完了,感觉今后面试又增加了一道题 |
10 wplct 2018-03-24 13:57:15 +08:00 遇到过无限 debug 的 |
![]() | 12 greatghoul 2018-03-24 14:05:12 +08:00 via Android 费这个心干嘛,用户说不定写了个浏览器插件,那你还咋整 |
![]() | 14 liuyin 2018-03-24 14:12:56 +08:00 via iPhone 前两天就遇到过,不管是先打开,还是后打开控制台,无限 debug。 |
![]() | 15 zjsxwc 2018-03-24 14:15:30 +08:00 我记得招商银行的手机网页支付时,如果打开了控制台他会暂停,那么我觉得应该是有个事件 |
![]() | 16 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(); ``` |
![]() | 18 Terry05 2018-03-24 14:38:09 +08:00 每次打开面度的页面,打开控制台就能出现特别的 Log 就觉得好神奇 |
20 geekcorn 2018-03-24 16:37:51 +08:00 mark 一下 |
21 dobelee 2018-03-24 17:33:19 +08:00 via Android mark |
22 qnwx1 2018-03-24 17:35:46 +08:00 mark |
23 carakan 2018-03-24 17:53:22 +08:00 via Android mark |
![]() | 25 MinonHeart 2018-03-24 22:12:56 +08:00 via iPhone 无限 debug (自作聪明?!),chrome 把断点打掉就可以了 |
![]() | 26 CloudnuY 2018-03-24 23:16:36 +08:00 可以看看 p♂r 社 的网页版代码 |
27 NLL 2018-03-24 23:27:20 +08:00 via iPhone 关注 |
![]() | 29 zjyl1994 2018-03-25 00:27:01 +08:00 看过一个库,是根据网页宽度或高度突然变化分析的,只要不是分离式的调试窗口都能感知,这个思路可以借鉴一下 |
30 cosformula 2018-03-25 01:16:58 +08:00 via Android @zjyl1994 在开着控制台的情况下输入网址... |
![]() | 31 chinvo 2018-03-25 01:21:19 +08:00 之前就遇到过无限 debugger 的,直接把断点关掉就好 检测页面宽度 /高度变化的也能用分离式或者提前开的方式规避 |
![]() | 32 Mavious 2018-03-25 06:14:12 +08:00 via iPhone 这个要马克。最烦你们这种反控制台的人了。抓个包都不让人好好抓了。 不让用控制台的话还有 fiddler 呢,这个你们就控制不了了。 |
![]() | 33 xuanyuanaosheng 2018-03-25 08:08:55 +08:00 via Android mark 下 |
![]() | 34 580a388da131 2018-03-25 08:43:33 +08:00 客户端代码费那劲干嘛,像 Facebook 一样在 Console 给个大大的安全提示就好了嘛。 反正会技术的怎么都能绕过。 |
![]() | 35 AV1 2018-03-25 10:10:14 +08:00 via Android console.warn("严正声明:在此执行任何代码造成任何不可预知的经济财产损失或人员伤亡,本网站概不负责。") |
![]() | 36 Antidictator 2018-03-25 10:55:42 +08:00 @MinonHeart #25 我试过了好像不行,直接卡死了。关闭 console 也没用了 emmmm |
38 ahlixinjie 2018-03-25 18:28:35 +08:00 via iPhone @gdtv 可以看一下 贞子,是小说不是电影 ,非常精彩,里面的人意识到了自身是被创造出来的,并找到了与外界交流的方法,成功的把自己带到了外界 |
39 Levox 2018-03-25 19:28:43 +08:00 mark |