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 相关文章推荐
不能再简单的无闪刷新验证码原理很简单
Nov 05 Javascript
制作jquery遮罩层效果导航菜单代码分享
Dec 25 Javascript
js函数内变量的作用域分析
Jan 12 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
May 25 Javascript
jQuery使用each方法与for语句遍历数组示例
Jun 16 Javascript
用AngularJS的指令实现tabs切换效果
Aug 31 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
Aug 21 Javascript
webpack 从指定入口文件中提取公共文件的方法
Nov 13 Javascript
vue input输入框关键字筛选检索列表数据展示
Oct 26 Javascript
JavaScript this在函数中的指向及实例详解
Oct 14 Javascript
js实现录音上传功能
Nov 22 Javascript
如何基于JS截获动态代码
Dec 25 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
用PHP和ACCESS写聊天室(九)
2006/10/09 PHP
什么是MVC,好东西啊
2007/05/03 PHP
php更新mysql后获取改变行数的方法
2014/12/25 PHP
学习php设计模式 php实现模板方法模式
2015/12/08 PHP
PHP PDOStatement::getAttribute讲解
2019/02/01 PHP
关于laravel 日志写入失败问题汇总
2019/10/17 PHP
js加载之使用DOM方法动态加载Javascript文件
2013/11/08 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
javascript的push使用指南
2014/12/05 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
JavaScript闭包_动力节点Java学院整理
2017/06/27 Javascript
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
详解vue2.0模拟后台json数据
2019/05/16 Javascript
webpack4 SplitChunks实现代码分隔详解
2019/05/23 Javascript
[36:45]TNC vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python支持断点续传的多线程下载示例
2014/01/16 Python
Python脚本实现格式化css文件
2015/04/08 Python
python daemon守护进程实现
2016/08/27 Python
对python:print打印时加u的含义详解
2018/12/15 Python
python微信聊天机器人改进版(定时或触发抓取天气预报、励志语录等,向好友推送)
2019/04/25 Python
Python3 串口接收与发送16进制数据包的实例
2019/06/12 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
用纯CSS3实现网页中常见的小箭头
2017/10/16 HTML / CSS
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
移动通信行业实习自我鉴定
2013/09/28 职场文书
机电专业个人求职信范文
2013/12/30 职场文书
单位消防安全制度
2014/01/12 职场文书
2015年党员自评材料
2014/12/17 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书
2015秋季小学开学寄语
2015/05/27 职场文书
北京爱情故事观后感
2015/06/12 职场文书
python中pandas对多列进行分组统计的实现
2021/06/18 Python
教你如何用Python实现人脸识别(含源代码)
2021/06/23 Python
JavaScript文档对象模型DOM
2021/11/20 Javascript
mysql 索引的数据结构为什么要采用B+树
2022/04/26 MySQL