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 相关文章推荐
fix-ie5.js扩展在IE5下不能使用的几个方法
Aug 20 Javascript
javascript 跨浏览器开发经验总结(五) js 事件
May 19 Javascript
JavaScript中的一些定位属性[图解]
Jul 14 Javascript
实用的Jquery选项卡TAB示例代码
Aug 28 Javascript
Javascript中arguments和arguments.callee的区别浅析
Apr 24 Javascript
asp知识整理笔记3(问答模式)
Sep 27 Javascript
微信小程序(六):列表上拉加载下拉刷新示例
Jan 13 Javascript
angularJS 指令封装回到顶部示例详解
Jan 22 Javascript
JS中将多个逗号替换为一个逗号的实现代码
Jun 23 Javascript
vue+element实现批量删除功能的示例
Feb 28 Javascript
Vue-cli4 配置 element-ui 按需引入操作
Sep 11 Javascript
原生js中运算符及流程控制示例详解
Jan 05 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
第九节--绑定
2006/11/16 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
PHP进程通信基础之信号
2017/02/19 PHP
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
模仿JQuery.extend函数扩展自己对象的js代码
2009/12/09 Javascript
jquery.messager.js插件导致页面抖动的解决方法
2013/07/14 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
jQuery中detach()方法用法实例
2014/12/25 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
javascript创建对象的几种模式介绍
2016/05/06 Javascript
AngularJS指令用法详解
2016/11/02 Javascript
AngularJS辅助库browserTrigger用法示例
2016/11/03 Javascript
js如何编写简单的ajax方法库
2017/08/02 Javascript
vue.js  父向子组件传参的实例代码
2017/10/29 Javascript
使用proxy实现一个更优雅的vue【推荐】
2018/06/19 Javascript
详解Require.js与Sea.js的区别
2018/08/05 Javascript
Vue.js 中的 v-cloak 指令及使用详解
2018/11/19 Javascript
vue点击按钮动态创建与删除组件功能
2019/12/29 Javascript
[01:15:44]首部DOTA2纪录片今日23时全网上映
2014/03/19 DOTA
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
[55:03]LGD vs EG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[43:43]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第三场 11.29
2020/12/02 DOTA
python实现登陆知乎获得个人收藏并保存为word文件
2015/03/16 Python
日常整理python执行系统命令的常见方法(全)
2015/10/22 Python
浅析Python 多行匹配模式
2020/07/24 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
社会实践的活动方案
2014/08/22 职场文书
2014年环境整治工作总结
2014/12/10 职场文书
车间质检员岗位职责
2015/04/08 职场文书
物业工程部主管岗位职责
2015/04/16 职场文书
房屋租赁意向书范本
2015/05/09 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书
2019年教师节祝福语精选,给老师送上真诚的祝福
2019/09/09 职场文书
python OpenCV学习笔记
2021/03/31 Python
基于python的matplotlib制作双Y轴图
2021/04/20 Python