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面向对象之静态与非静态类
Feb 03 Javascript
JQuery解析HTML、JSON和XML实例详解
Mar 29 Javascript
jQuery产品间断向下滚动效果核心代码
May 08 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
Jun 30 Javascript
jquery彩色投票进度条简单实例演示
Jul 23 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
May 10 Javascript
js使用原型对象(prototype)需要注意的地方
Aug 28 Javascript
详解js类型判断
May 22 Javascript
JavaScript实现图片懒加载的方法分析
Jul 05 Javascript
vue实现的组件兄弟间通信功能示例
Dec 04 Javascript
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
May 14 Javascript
JavaScript装箱及拆箱boxing及unBoxing用法解析
Jun 15 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/08/23 PHP
PHP实现事件机制的方法
2015/07/10 PHP
教你在PHPStorm中配置Xdebug
2015/07/27 PHP
PHP中配置IIS7实现基本身份验证的方法
2015/09/24 PHP
JavaScript实现删除电脑的关机键
2016/07/26 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
jquery 学习之一 对象访问
2010/11/23 Javascript
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
ext combobox动态加载数据库数据(附前后台)
2014/06/17 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
jQuery选择器源码解读(二):select方法
2015/03/31 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
学习JavaScript设计模式(封装)
2015/11/26 Javascript
javascript数组克隆简单实现方法
2015/12/16 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
2016/05/30 Javascript
Yarn的安装与使用详细介绍
2016/10/25 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
2020/06/08 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
[51:20]完美世界DOTA2联赛PWL S2 Magma vs PXG 第一场 11.28
2020/12/01 DOTA
Python实现程序的单一实例用法分析
2015/06/03 Python
Python正则表达式知识汇总
2017/09/22 Python
python绘制随机网络图形示例
2019/11/21 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
Python semaphore evevt生产者消费者模型原理解析
2020/03/18 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
美国一家主营日韩美妆护肤品的在线商店:iMomoko
2016/09/11 全球购物
C#面试题问题集
2016/04/02 面试题
应用化学专业本科生求职信
2013/09/29 职场文书
普师专业个人自荐信范文
2013/11/26 职场文书
《社戏》教学反思
2014/04/15 职场文书
人力资源管理专业自荐书
2014/07/07 职场文书
教师思想作风整顿个人剖析材料
2014/10/10 职场文书
2014年招商引资工作总结
2014/11/22 职场文书
2015关爱留守儿童工作总结
2014/12/12 职场文书