想屏蔽掉打开了浏览器调试面板的用户,js 除了监听“F12”、“Ctrl+Shift+I”的按键之外,还有哪些方法,求 V 友集思广益
1
ruanimal 2020-12-31 10:06:44 +08:00
开了浏览器调试面板的用户(大部分) = V2EX 用户
楼主来这里问,感觉有点意思 |
2
des 2020-12-31 10:08:02 +08:00
|
3
maocat 2020-12-31 10:09:19 +08:00 12
好的,我马上用 fiddler 抓包
|
4
ciqulover 2020-12-31 10:14:34 +08:00 via iPhone
最简单兼容性管广泛的办法是使用监听一个一个对象的 getter 事件然后 console.log 打印,控制台打开的时候会触发事件,在事件监听里直接 window.location.href 跳跑,正常情况没办法避开。
|
5
tangchi695 2020-12-31 10:15:04 +08:00
只能对付只会用调试面板的人。
|
6
otakustay 2020-12-31 10:16:30 +08:00
当你想和用 devtool 的人对着干,你就是在和一个技术人员对着来了,考虑到对方大概率的专业性,基本上你输定了
|
7
FaiChou 2020-12-31 10:19:47 +08:00
通过菜单栏点击进入 devtools 也能被监听到吗
|
8
opengps 2020-12-31 10:20:07 +08:00 via Android
没啥用,毕竟浏览器本身就是要解析看代码的
|
9
billtsui 2020-12-31 10:20:22 +08:00
|
10
ciqulover 2020-12-31 10:21:09 +08:00
```
var element = new Image() Object.defineProperty(element, 'id', { get: function() { window.location.href = 'https://google.com' }, }) console.log(element) ``` 直接上代码了,一步到位的办法。 V 友门倒是可以想一想是否有办法绕过这段代码调试 hhh 。 |
11
VDimos 2020-12-31 10:23:30 +08:00 via Android 1
加个 debugger,打开了控制台会暂停,然后计时,长时间没执行就是打开了控制台
|
12
misdake 2020-12-31 10:28:28 +08:00
抓包又何必在控制台
|
15
libook 2020-12-31 10:29:45 +08:00
不开浏览器的开发者工具也可以抓包。
屏蔽了快捷键也可以拿鼠标在菜单里打开开发者工具。 可以在空白页先开开发者工具再加载 URL 。 如果想解决防抓包的问题可以考虑在 HTTPS 基础上再加一层加密通信,让抓到的包无法解读内容,当然因为客户端上横竖都会有加解密算法,所以也是可以破解的,只不过代码压缩混淆后可能破解难度会比较高。 总之,这个像是个 XY Problem 。 |
16
linksNoFound 2020-12-31 10:30:41 +08:00
不要嘲笑楼主,微信就做到了
|
17
ss098 2020-12-31 10:34:19 +08:00 via iPhone
我遇到最多的是无限 debugger,但很简单就能禁用。
还有打开控制台疯狂 alert 的。 |
18
aogu555 2020-12-31 10:34:56 +08:00
印象里国家知识产权局的反爬做的很厉害,一进控制台直接跳到加密代码去了
|
19
Track13 2020-12-31 10:39:45 +08:00 via Android
你写的什么?值得我打开 f12 看吗
|
21
love 2020-12-31 10:44:45 +08:00 via Android
这个我也碰到过,打开控制台浏览器直接卡死,可能是分配了大量内存什么的
|
22
test005 2020-12-31 10:47:33 +08:00
我是这么做的
``` 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() ``` |
23
Rekkles 2020-12-31 10:59:37 +08:00
这个等于刚学武功的想拿内功去参加华山论剑
|
24
hafuhafu 2020-12-31 11:13:30 +08:00
屏蔽不掉这些用户的,浏览器自带的开发者工具也只相当于整合了一些开发常用的插件,费尽心思让对方无法打开控制台,对方反手装一个插件或者应用,该抓包一样抓。
|
25
lbyo 2020-12-31 11:15:52 +08:00
@ciqulover #10 换个浏览器就可以了,这是利用 Chrome 控制台输出 Object 的时候,会获取 Object 的 id 的原理
|
26
WishMeLz 2020-12-31 11:28:46 +08:00
debug
|
27
LiuSha 2020-12-31 12:58:05 +08:00 via Android
这种方法只能对付只会用调试工具抓包的,别人用 fiddler 抓包你怎么办呢?
|
28
buglesss 2020-12-31 13:40:55 +08:00
你去试试裁判文书网
|
29
execute 2020-12-31 14:19:48 +08:00
|
30
ETO 2020-12-31 15:46:03 +08:00
@linksNoFound 没人嘲笑楼主啊,大家都在很认真的回答问题呀。
|