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 相关文章推荐
jquery ajax 同步异步的执行示例代码
Jun 23 Javascript
jquery 圆形旋转图片滚动切换效果
Jan 19 Javascript
jQuery避免$符和其他JS库冲突的方法对比
Feb 20 Javascript
Windows8下搭建Node.js开发环境教程
Sep 03 Javascript
JavaScript不刷新实现浏览器的前进后退功能
Nov 05 Javascript
使用百度地图api实现根据地址查询经纬度
Dec 11 Javascript
JS实现双击屏幕滚动效果代码
Oct 28 Javascript
jQuery基于扩展实现的倒计时效果
May 14 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
Sep 13 Javascript
基于Vue生产环境部署详解
Sep 15 Javascript
JS 自执行函数原理及用法
Aug 05 Javascript
浅谈javascript事件环微任务和宏任务队列原理
Sep 12 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 强制下载文件代码
2010/10/24 PHP
逆序二维数组插入一元素的php代码
2012/06/08 PHP
php中删除字符串中最先出现某个字符的实现代码
2013/02/03 PHP
ThinkPHP3.1新特性之字段合法性检测详解
2014/06/19 PHP
PHP实现表单提交时去除斜杠的方法
2016/12/26 PHP
php解决约瑟夫环算法实例分析
2019/09/30 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
可以支持多中格式的JS键盘
2007/05/02 Javascript
json原理分析及实例介绍
2012/11/29 Javascript
jquery索引在使用中的一些困惑
2013/10/24 Javascript
详解vue-cli脚手架build目录中的dev-server.js配置文件
2017/11/24 Javascript
常用的9个JavaScript图表库详解
2017/12/19 Javascript
Javascript 编码约定(编码规范)
2018/03/11 Javascript
jQuery实现使用sort方法对json数据排序的方法
2018/04/17 jQuery
详解在React中跨组件分发状态的三种方法
2018/08/09 Javascript
微信小程序实现tab左右切换效果
2020/11/15 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟
2018/11/28 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
2019/08/26 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
JS实现放烟花效果
2020/03/10 Javascript
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
Python实现冒泡,插入,选择排序简单实例
2014/08/18 Python
python开发之for循环操作实例详解
2015/11/12 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
python requests.post带head和body的实例
2019/01/02 Python
python定时任务 sched模块用法实例
2019/11/04 Python
Python中BeautifuSoup库的用法使用详解
2019/11/15 Python
python 进制转换 int、bin、oct、hex的原理
2021/01/13 Python
详解CSS3 弹性布局快速入门
2019/06/06 HTML / CSS
HTML5移动开发图片压缩上传功能
2016/11/09 HTML / CSS
矿泉水广告词
2014/03/20 职场文书
综合内勤岗位职责
2014/04/14 职场文书
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS
mysql创建存储过程及函数详解
2021/12/04 MySQL