发现用户打开调试模式就执行一些特殊的代码
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) + ' 次打开控制台'); }; })(); |
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 2
之前遇到过在脚本里插触发调试器的 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 的
|
11
winterbells 2018-03-24 13:59:35 +08:00 via Android
@gdtv 也许控制台就没关过
|
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 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(); ``` |
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
zhijiansha 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
DOLLOR 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
|