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整除实现代码
Nov 23 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
Nov 07 Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
Dec 02 Javascript
DEDECMS如何为文章添加HOT NEW标志图片
Aug 14 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
Jul 04 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
Oct 05 Javascript
js基础之DOM中document对象的常用属性方法详解
Oct 28 Javascript
JavaScript省市级联下拉菜单实例
Feb 14 Javascript
如何使用vuejs实现更好的Form validation?
Apr 07 Javascript
JavaScript中最常用的10种代码简写技巧总结
Jun 28 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
Oct 17 Javascript
Vue的data、computed、watch源码浅谈
Apr 04 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
全国FM电台频率大全 - 8 黑龙江省
2020/03/11 无线电
php 常用字符串函数总结
2008/03/15 PHP
PHP 第一节 php简介
2012/04/28 PHP
php实现可以设置中奖概率的抽奖程序代码分享
2014/01/19 PHP
CodeIgniter自定义控制器MY_Controller用法分析
2016/01/20 PHP
Smarty简单生成表单元素的方法示例
2016/05/23 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
使用laravel根据用户类型来显示或隐藏字段
2019/10/17 PHP
Yii框架where查询用法实例分析
2019/10/22 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
有趣的javascript数组定义方法
2010/09/10 Javascript
一些有用的JavaScript和jQuery的片段分享
2011/08/23 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
jQuery阻止同类型事件小结
2013/04/19 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
Javascript核心读书有感之语句
2015/02/11 Javascript
Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
2017/03/10 Javascript
Javascript实现登录记住用户名和密码功能
2017/03/22 Javascript
微信小程序实现时间进度条功能
2020/11/17 Javascript
基于JavaScript实现随机点名器
2021/02/25 Javascript
python 排列组合之itertools
2013/03/20 Python
详解python中__name__的意义以及作用
2019/08/07 Python
使用pandas库对csv文件进行筛选保存
2020/05/25 Python
python识别验证码的思路及解决方案
2020/09/13 Python
TripAdvisor土耳其网站:全球知名旅行社区,真实旅客评论
2017/04/17 全球购物
Structs界面控制层技术
2013/10/11 面试题
黄金酒广告词
2014/03/21 职场文书
工作经常出错的检讨书
2014/09/13 职场文书
领导干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
AJAX实现指定部分页面刷新效果
2021/10/16 Javascript
Hive日期格式转换方法总结
2022/06/25 数据库
Win10服务主机占用内存怎么办?Win10服务主机进程占用大量内存解决方法
2022/09/23 数码科技