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 实用的文字链提示框效果
Jun 30 Javascript
js中for in的用法示例解析
Dec 25 Javascript
JavaScript立即执行函数的三种不同写法
Sep 05 Javascript
javascript使用appendChild追加节点实例
Jan 12 Javascript
JavaScript截取、切割字符串的技巧
Jan 07 Javascript
使用plupload自定义参数实现多文件上传
Jul 19 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
Oct 14 Javascript
使用Curl命令查看请求响应时间方法
Nov 04 Javascript
Angular中sweetalert弹框的基本使用教程
Jul 22 Javascript
微信小程序页面调用自定义组件内的事件详解
Sep 12 Javascript
JS实现点星星消除小游戏
Mar 24 Javascript
原生JavaScript实现五子棋游戏
Nov 09 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删除HTMl标签的三种解决方法
2013/06/30 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
JMenuTab简单使用说明
2008/03/13 Javascript
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
js创建子窗口并且回传值示例代码
2013/07/02 Javascript
把jquery 的dialog和ztree结合实现步骤
2013/08/02 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
搞定immutable.js详细说明
2016/05/02 Javascript
JavaScript 字符串常用操作小结(非常实用)
2016/11/30 Javascript
layui给下拉框、按钮状态、时间赋初始值的方法
2019/09/10 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
Vue插件之滑动验证码用法详解
2020/04/05 Javascript
vue实现五子棋游戏
2020/05/28 Javascript
原生JS实现音乐播放器的示例代码
2021/02/25 Javascript
[05:39]2014DOTA2西雅图国际邀请赛 淘汰赛7月14日TOPPLAY
2014/07/14 DOTA
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
Python语言描述随机梯度下降法
2018/01/04 Python
浅谈python numpy中nonzero()的用法
2018/04/02 Python
Python基于xlrd模块操作Excel的方法示例
2018/06/21 Python
对python 调用类属性的方法详解
2019/07/02 Python
Python Django 添加首页尾页上一页下一页代码实例
2019/08/21 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
罗德与泰勒百货官网:Lord & Taylor
2016/08/12 全球购物
荷兰电脑专场:Paradigit
2018/05/05 全球购物
Ruby如何实现动态方法调用
2012/11/18 面试题
广告学专业毕业生自荐信
2013/09/24 职场文书
毕业生医学检验求职信
2013/10/16 职场文书
会计出纳岗位职责
2013/12/25 职场文书
学生会竞选演讲稿学习部
2014/08/25 职场文书
高三语文复习计划
2015/01/19 职场文书
给老婆的保证书怎么写
2015/05/08 职场文书
如何撰写创业策划书
2019/06/27 职场文书
MySQL 自定义变量的概念及特点
2021/05/13 MySQL
详解Python中的进程和线程
2021/06/23 Python