跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • js 能不能检测到用户打开了浏览器的调试面板正在抓包?
未分類
2021 年 1 月 12 日

js 能不能检测到用户打开了浏览器的调试面板正在抓包?

js 能不能检测到用户打开了浏览器的调试面板正在抓包?

資深大佬 : kisshere 6

想屏蔽掉打开了浏览器调试面板的用户,js 除了监听“F12”、“Ctrl+Shift+I”的按键之外,还有哪些方法,求 V 友集思广益

大佬有話說 (30)

  • 資深大佬 : ruanimal

    开了浏览器调试面板的用户(大部分) = V2EX 用户
    主来这里问,感觉有点意思

  • 資深大佬 : des

    搜索一下,请: https://cn.bing.com/search?q=devtools+open+Detection

  • 資深大佬 : maocat

    好的,我马上用 fiddler 抓包

  • 資深大佬 : ciqulover

    最简单兼容性管广泛的办法是使用监听一个一个对象的 getter 事件然后 console.log 打印,控制台打开的时候会触发事件,在事件监听里直接 window.location.href 跳跑,正常情况没办法避开。

  • 資深大佬 : tangchi695

    只能对付只会用调试面板的人。

  • 資深大佬 : otakustay

    当你想和用 devtool 的人对着干,你就是在和一个技术人员对着来了,考虑到对方大概率的专业性,基本上你输定了

  • 資深大佬 : FaiChou

    通过菜单栏点击进入 devtools 也能被监听到吗

  • 資深大佬 : opengps

    没啥用,毕竟浏览器本身就是要解析看代码的

  • 資深大佬 : billtsui

    拿好不谢,https://github.com/sindresorhus/devtools-detect

    主是不是想做反爬啊

  • 資深大佬 : ciqulover

    “`
    var element = new Image()
    Object.defineProperty(element, ‘id’, {
    get: function() {
    window.location.href = ‘https://google.com’
    },
    })
    console.log(element)
    “`
    直接上代码了,一步到位的办法。
    V 友门倒是可以想一想是否有办法绕过这段代码调试 hhh 。

  • 資深大佬 : VDimos

    加个 debugger,打开了控制台会暂停,然后计时,长时间没执行就是打开了控制台

  • 資深大佬 : misdake

    抓包又何必在控制台

  • 資深大佬 : glaucus

    @des #2 试了一下,这个是监听的页面大小变化实现的,用弹出窗口打开就监听不到了

  • 資深大佬 : ccyu220

    @ciqulover 你这段代码哪里需要绕…

  • 資深大佬 : libook

    不开浏览器的开发者工具也可以抓包。

    屏蔽了快捷键也可以拿鼠标在菜单里打开开发者工具。
    可以在空白页先开开发者工具再加载 URL 。

    如果想解决防抓包的问题可以考虑在 HTTPS 基础上再加一层加密通信,让抓到的包无法解读内容,当然因为客户端上横竖都会有加解密算法,所以也是可以破解的,只不过代码压缩混淆后可能破解难度会比较高。

    总之,这个像是个 XY Problem 。

  • 資深大佬 : linksNoFound

    不要嘲笑主,微信就做到了

  • 資深大佬 : ss098

    我遇到最多的是无限 debugger,但很简单就能禁用。

    还有打开控制台疯狂 alert 的。

  • 資深大佬 : aogu555

    印象里国家知识产权局的反爬做的很厉害,一进控制台直接跳到加密代码去了

  • 資深大佬 : Track13

    你写的什么?值得我打开 f12 看吗

  • 資深大佬 : test005

    @ciqulover 火狐可破

  • 資深大佬 : love

    这个我也碰到过,打开控制台浏览器直接卡死,可能是分配了大量内存什么的

  • 資深大佬 : test005

    我是这么做的

    “`
    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()
    “`

  • 資深大佬 : Rekkles

    这个等于刚学武功的想拿内功去参加华山论剑

  • 資深大佬 : hafuhafu

    屏蔽不掉这些用户的,浏览器自带的开发者工具也只相当于整合了一些开发常用的插件,费尽心思让对方无法打开控制台,对方反手装一个插件或者应用,该抓包一样抓。

  • 資深大佬 : lbyo

    @ciqulover #10 换个浏览器就可以了,这是利用 Chrome 控制台输出 Object 的时候,会获取 Object 的 id 的原理

  • 資深大佬 : WishMeLz

    debug

  • 資深大佬 : LiuSha

    这种方法只能对付只会用调试工具抓包的,别人用 fiddler 抓包你怎么办呢?

  • 資深大佬 : buglesss

    你去试试裁判文书网

  • 資深大佬 : execute

    js 能不能检测到用户打开了浏览器的调试面板正在抓包? , 震慑一下 js 能不能检测到用户打开了浏览器的调试面板正在抓包?

  • 資深大佬 : ETO

    @linksNoFound 没人嘲笑主啊,大家都在很认真的回答问题呀。

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具