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中为元素加上name属性的方法
May 09 Javascript
fancybox modal的完美解决(右上的X)
Oct 30 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
Sep 26 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
Nov 18 Javascript
JavaScript使用cookie记录临时访客信息的方法
Apr 07 Javascript
浅析Node.js中的内存泄漏问题
Jun 23 Javascript
web前端开发JQuery常用实例代码片段(50个)
Aug 28 Javascript
基于angularJS的表单验证指令介绍
Oct 21 Javascript
vue.js组件之间传递数据的方法
Jul 10 Javascript
实现vuex与组件data之间的数据同步更新方式
Nov 12 Javascript
Vue.directive 实现元素scroll逻辑复用
Nov 29 Javascript
解决Vue 移动端点击出现300毫秒延迟的问题
Jul 21 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
PHP提取字符串中的图片地址[正则表达式]
2011/11/12 PHP
ThinkPHP实现一键清除缓存方法
2014/06/26 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
2020/04/26 PHP
最短的IE判断代码
2011/03/13 Javascript
ASP.NET jQuery 实例1(在TextBox里面创建一个默认提示)
2012/01/13 Javascript
jQuery 1.8 Release版本发布了
2012/08/14 Javascript
Jquery中children与find之间的区别详细解析
2013/11/29 Javascript
NodeJs的优势和适合开发的程序
2016/08/14 NodeJs
js实现弹窗居中的简单实例
2016/10/09 Javascript
js实现倒计时效果(小于10补零)
2017/03/08 Javascript
React服务端渲染(总结)
2017/07/01 Javascript
JavaScript 数组去重并统计重复元素出现的次数实例
2017/12/14 Javascript
swiper在vue项目中loop循环轮播失效的解决方法
2018/09/15 Javascript
详解React 服务端渲染方案完美的解决方案
2018/12/14 Javascript
继承行为在 ES5 与 ES6 中的区别详解
2019/12/24 Javascript
vue+ts下对axios的封装实现
2020/02/18 Javascript
vue 基于abstract 路由模式 实现页面内嵌的示例代码
2020/12/14 Vue.js
[48:21]林俊杰圣堂刺客超神杀戮秀
2014/10/29 DOTA
Python读取图片EXIF信息类库介绍和使用实例
2014/07/10 Python
使用python爬虫实现网络股票信息爬取的demo
2018/01/05 Python
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
django做form表单的数据验证过程详解
2019/07/26 Python
django-rest-swagger的优化使用方法
2019/08/29 Python
django中瀑布流写法实例代码
2019/10/14 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
几道PHP面试题
2013/04/14 面试题
秋季红领巾广播稿
2014/01/27 职场文书
征婚广告词
2014/03/17 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
2014年客房服务员工作总结
2014/11/18 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
房屋质量投诉书
2015/07/02 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
MySQL索引知识的一些小妙招总结
2021/05/10 MySQL