JavaScript检测是否开启了控制台(F12调试工具)


Posted in Javascript onOctober 02, 2020

js检测用户是否打开调试工具(chrome)

(function(){ var re=/x/; var i=0; console.log(re); re.toString=function(){ window.close(); return '第'+(++i)+'次打开控制台'; } })();

JavaScript检测是否开启了控制台(调试工具)

测试后在chrome有效

不少人防止别人趴源码,一般采用检测按键F12之类的,但是这些基本没什么用

现在介绍一个方法,非常管用,可以检测到你是否开启了控制台程序,可以算是JavaScript的一些奇淫巧技

将这段代码加入你的网站即可,原理不明 = -

(function () {
var re = /x/;
var i = 0;
console.log(re);
 
re.toString = function () {
alert("请关闭控制台");
return '第 ' + (++i) + ' 次打开控制台';
};
})();

然后你在打开控制台,即会弹出对话框

js检测开发者工具Devtools是否打开防调试

之前写过一篇文章《Javascript检测开发者工具Devtools是否打开》,主要是讲如何通过js来检测开发者工具是否打开,防止别人恶意调试我们的代码,那段代码也是查了蛮多资料整理出来的,当时可以兼容chrome,firefox,ie,但是随着浏览器版本的更新,已经基本上没有作用了,最近我发现还是有蛮多人去浏览那篇文章,所以这里再放出一段代码,算是个升级版吧,之前的版本里在firefox上还有有限制的,下面提供的这个版本我测试过通杀现在的chrome 69,firefox,IE,也不存在之前firefox上存在的问题了,下面直接贴出代码:

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();

这段代码是什么原理,说实话我没搞太懂,也去请教过一些大佬,都不能完全说出其中的原理,如果有懂的朋友请一定不吝赐教,虽然不知道原理,但是效果的确是杠杠的,这是本人从huichan网站上截取的,这里不得不佩服那些做huichan的,太强大。由于以前代码是加密的,对于其中一些方法的命名我解密时都是随意取的,不喜勿喷。

当然这种伎俩对于熟悉调试的开发者来说,完全没有阻碍,但毕竟也能防范住一小批不怀好意的人,幸幸苦苦写出来的代码被别人悄悄的就搬走了,确实挺恼人的,但仅仅靠这么一个防调试的代码是不够的,我们还需要做的还有很多,比如一些基本的js的压缩混淆加密等等,后期本人会整理一些js加密混淆以及解密方面的文章,敬请期待...

经三水点靠木小编测试就最后一种方法可以使用,下篇文章接着介绍。

Javascript 相关文章推荐
Javascript实例教程(19) 使用HoTMetal(7)
Dec 23 Javascript
javascript 四则运算精度修正函数代码
May 31 Javascript
Dreamweaver jQuery智能提示插件,支持版本提示,支持1.6api
Jul 31 Javascript
Jquery显示和隐藏元素或设为只读(含Ligerui的控件禁用,实例说明介绍)
Jul 09 Javascript
php与js的区别是什么
Aug 05 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
Dec 26 Javascript
Javascript中的async awai的用法
May 17 Javascript
Javascript实现的StopWatch功能示例
Jun 13 Javascript
基于JavaScript表单脚本(详解)
Oct 18 Javascript
VUE Error: getaddrinfo ENOTFOUND localhost
May 03 Javascript
简述JS控制台的使用
Jul 15 Javascript
Promise静态四兄弟实现示例详解
Jul 07 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
Oct 02 #Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
Oct 01 #Javascript
JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码
Dec 01 #Javascript
在Vue里如何把网页的数据导出到Excel的方法
Sep 30 #Javascript
jQuery实现二级导航菜单的示例
Sep 30 #jQuery
javascript canvas封装动态时钟
Sep 30 #Javascript
VUE Elemen-ui之穿梭框使用方法详解
Jan 19 #Javascript
You might like
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
PHP中exec与system用法区别分析
2014/09/22 PHP
PHP+jquery实时显示网站在线人数的方法
2015/01/04 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
js 解决“options为空或不是对象”
2008/12/22 Javascript
JavaScript.The.Good.Parts阅读笔记(二)作用域&闭包&减缓全局空间污染
2010/11/16 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
JS+CSS实现仿新浪微博搜索框的方法
2015/02/24 Javascript
jquery中trigger()无法触发hover事件的解决方法
2015/05/07 Javascript
解决jquery实现的radio重新选中的问题
2015/07/03 Javascript
JS实现的3D拖拽翻页效果代码
2015/10/31 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
JavaScript中return用法示例
2016/11/29 Javascript
解决webpack多页面内存溢出的方法示例
2019/10/08 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
vue.js实现双击放大预览功能
2020/06/23 Javascript
python中print的不换行即时输出的快速解决方法
2016/07/20 Python
Unicode和Python的中文处理
2017/03/19 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
2018/10/14 Python
python2与python3中关于对NaN类型数据的判断和转换方法
2018/10/30 Python
numpy.where() 用法详解
2019/05/27 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
详解Python中第三方库Faker
2020/09/25 Python
python3代码中实现加法重载的实例
2020/12/03 Python
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
中专毕业自我鉴定
2013/10/16 职场文书
廉洁自律承诺书
2014/03/27 职场文书
家长寄语大全
2014/04/02 职场文书
学校师德师风整改措施
2014/10/27 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
2015年幼儿园班务工作总结
2015/05/12 职场文书
导游词之丽江普济寺
2019/10/22 职场文书
浅谈Redis跟MySQL的双写问题解决方案
2022/02/24 Redis