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 相关文章推荐
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
Mar 09 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
Sep 23 Javascript
jQuery学习笔记之总体架构
Jun 03 Javascript
javascript弹性运动效果简单实现方法
Jan 08 Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
Jun 12 Javascript
jQuery移动端图片上传组件
Jun 12 Javascript
AngularJS ng-style中使用filter
Sep 21 Javascript
vue一步步实现alert功能
Jul 05 Javascript
Vue中的methods、watch、computed的区别
Nov 26 Javascript
JS使用队列对数组排列,基数排序算法示例
Mar 02 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
Oct 16 Javascript
微信小程序实现比较功能的方法汇总(五种方法)
Mar 07 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中使用循环实现的金字塔图形
2014/11/08 PHP
PHP中使用CURL获取页面title例子
2015/01/07 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
PHP匿名函数(闭包函数)详解
2019/03/22 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
2019/03/22 PHP
datePicker——日期选择控件(with jquery)
2007/02/20 Javascript
<script defer> defer 是什么意思
2009/05/10 Javascript
Javascript Global对象
2009/08/13 Javascript
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
JavaScript实现多维数组的方法
2013/11/20 Javascript
javascript中match函数的用法小结
2014/02/08 Javascript
jQuery+css实现百度百科的页面导航效果
2014/12/16 Javascript
详解js图片轮播效果实现原理
2015/12/17 Javascript
jQuery插件ajaxFileUpload使用详解
2017/01/10 Javascript
Vue.js 2.0 移动端拍照压缩图片上传预览功能
2017/03/06 Javascript
实例详解JSON取值(key是中文或者数字)方式
2017/08/24 Javascript
微信小程序如何获取群聊的openGid以及名称详解
2019/07/17 Javascript
vue滚动插件better-scroll使用详解
2019/10/18 Javascript
vue $mount 和 el的区别说明
2020/09/11 Javascript
selenium+python截图不成功的解决方法
2019/01/30 Python
python递归法解决棋盘分割问题
2019/07/17 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
2020/03/09 Python
python中time.ctime()实例用法
2021/02/03 Python
CSS3之边框多颜色Border-color属性使用示例
2013/10/11 HTML / CSS
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
古驰英国官网:GUCCI英国
2020/03/07 全球购物
Cecil Mode法国在线商店:女性时尚
2021/01/08 全球购物
医院护士的求职信范文
2013/12/26 职场文书
需求分析说明书
2014/05/09 职场文书
党支部活动策划方案
2014/08/18 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
建党伟业观后感
2015/06/01 职场文书
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA