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 replace方法与正则表达式
Feb 19 Javascript
jquery1.10给新增元素绑定事件的方法
Mar 06 Javascript
jquery解析xml字符串简单示例
Apr 11 Javascript
微信小程序  action-sheet详解及实例代码
Nov 09 Javascript
jQuery UI仿淘宝搜索下拉列表功能
Jan 10 Javascript
JavaScript实现瀑布流以及加载效果
Feb 11 Javascript
js/jq仿window文件夹框选操作插件
Mar 08 Javascript
Vue 中使用vue2-highcharts实现曲线数据展示的方法
Mar 05 Javascript
JS window对象简单操作完整示例
Jan 14 Javascript
vue element 关闭当前tab 跳转到上一路由操作
Jul 22 Javascript
处理JavaScript值为undefined的7个小技巧
Jul 28 Javascript
VUE-ElementUI 自定义Loading图操作
Nov 11 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加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
php smarty的预保留变量总结
2008/12/04 PHP
Discuz! 6.1_jQuery兼容问题
2008/09/23 Javascript
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
Javascript表达式中连续的 && 和 || 之赋值区别
2010/10/17 Javascript
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
jQuery满屏焦点图左右滚动特效代码分享
2015/09/07 Javascript
jquery实现的简单二级菜单效果代码
2015/09/22 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
2016/09/04 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
使用JS批量选中功能实现更改数据库中的status状态值(批量展示)
2016/11/22 Javascript
node.js基于mongodb的搜索分页示例
2017/01/22 Javascript
Vue AST源码解析第一篇
2017/07/19 Javascript
jQuery 点击获取验证码按钮及倒计时功能
2018/09/20 jQuery
vue项目中将element-ui table表格写成组件的实现代码
2019/06/12 Javascript
15分钟上手vue3.0(小结)
2020/05/20 Javascript
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
用Python进行行为驱动开发的入门教程
2015/04/23 Python
TensorFlow实现随机训练和批量训练的方法
2018/04/28 Python
Python 写入训练日志文件并控制台输出解析
2019/08/13 Python
python 实现简单的计算器(gui界面)
2020/11/11 Python
利用CSS3的transform做的动态时钟效果
2011/09/21 HTML / CSS
HTML5通用接口详解
2016/06/12 HTML / CSS
掌上明珠Java程序员面试总结
2016/02/23 面试题
八年级物理教学反思
2014/01/19 职场文书
2014年六一儿童节演讲稿
2014/05/23 职场文书
四风问题自我剖析材料
2014/10/07 职场文书
保研导师推荐信
2015/03/25 职场文书
撤诉状格式范本
2015/05/19 职场文书
公司2015年终工作总结
2015/05/26 职场文书
同学聚会祝酒词
2015/08/10 职场文书
MySQL主从搭建(多主一从)的实现思路与步骤
2021/05/13 MySQL
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers