最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

浏览器控制台无限debugger与解决办法

业界 admin 6浏览 0评论

什么是无限debugger

某一天,我在用控制台检查network信息时
遇到了很怪的一幕,一旦打开控制台就会自动跳转到debug调试页面
firefox浏览器甚至会迅速奔溃
chrome中可以看到这样的代码


解决办法

好家伙,这种情况我还真是第一次见,怕不是写了个脚本无限debug。
既然如此,那我就跳过debug,直接禁止端点debugger

或者也可以直接禁用网站JavaScript,但这波AOE可能会导致网站内容不可用(慎用)


扩展

那么这段代码是怎么做到的呢,经过一番搜寻,发现了实现代码如下

setInterval(function () {
  check()
}, 4000)
var check = function () {
  function doCheck(a) {
    if (('' + a / a)['length'] !== 1 || a % 20 === 0) {
      ;(function () {}['constructor']('debugger')())
    } else {
      ;(function () {}['constructor']('debugger')())
    }
    doCheck(++a)
  }
  try {
    doCheck(0)
  } catch (err) {}
}
check()


总结

这种手段怎么说呢,会的人防不住,不会的人不用防 ,所以,我们当个小把戏玩就行啦!

什么是无限debugger

某一天,我在用控制台检查network信息时
遇到了很怪的一幕,一旦打开控制台就会自动跳转到debug调试页面
firefox浏览器甚至会迅速奔溃
chrome中可以看到这样的代码


解决办法

好家伙,这种情况我还真是第一次见,怕不是写了个脚本无限debug。
既然如此,那我就跳过debug,直接禁止端点debugger

或者也可以直接禁用网站JavaScript,但这波AOE可能会导致网站内容不可用(慎用)


扩展

那么这段代码是怎么做到的呢,经过一番搜寻,发现了实现代码如下

setInterval(function () {
  check()
}, 4000)
var check = function () {
  function doCheck(a) {
    if (('' + a / a)['length'] !== 1 || a % 20 === 0) {
      ;(function () {}['constructor']('debugger')())
    } else {
      ;(function () {}['constructor']('debugger')())
    }
    doCheck(++a)
  }
  try {
    doCheck(0)
  } catch (err) {}
}
check()


总结

这种手段怎么说呢,会的人防不住,不会的人不用防 ,所以,我们当个小把戏玩就行啦!

发布评论

评论列表 (0)

  1. 暂无评论