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 相关文章推荐
js+css在交互上的应用
Jul 18 Javascript
javascript实例--教你实现扑克牌洗牌功能
May 15 Javascript
javascript学习笔记(六)数据类型和JSON格式
Oct 08 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
Sep 14 Javascript
js格式化时间的方法
Dec 18 Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
Apr 15 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
May 09 Javascript
20分钟轻松创建自己的Bootstrap站点
May 12 Javascript
jQuery Chart图表制作组件Highcharts用法详解
Jun 01 Javascript
微信小程序自动客服功能
Nov 02 Javascript
node.js使用redis储存session的方法
Sep 26 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
Aug 05 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类
2006/07/15 PHP
PHP 截取字符串函数整理(支持gb2312和utf-8)
2010/02/16 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
2013/10/10 PHP
jquery.boxy弹出框(后隔N秒后自动隐藏/自动跳转)
2013/01/15 Javascript
解决jquery插件冲突的问题
2014/01/23 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
分享我的jquery实现下拉菜单心的
2015/11/29 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
使用jQuery ajaxupload插件实现无刷新上传文件
2017/04/23 jQuery
JS函数节流和函数防抖问题分析
2017/12/18 Javascript
Vue中使用vue-i18插件实现多语言切换功能
2018/04/25 Javascript
原生JS实现列表子元素顺序反转的方法分析
2018/07/02 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
2019/12/30 jQuery
JS apply用法总结和使用场景实例分析
2020/03/14 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
Python版的文曲星猜数字游戏代码
2013/09/02 Python
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
探寻python多线程ctrl+c退出问题解决方案
2014/10/23 Python
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
Python中元组,列表,字典的区别
2017/05/21 Python
Python3学习urllib的使用方法示例
2017/11/29 Python
Python实现将一个正整数分解质因数的方法分析
2017/12/14 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
与世界上最好的跑步专业品牌合作:Fleet Feet
2019/03/22 全球购物
波兰化妆品和护肤品购物网站:eKobieca
2019/08/30 全球购物
魅力教师事迹材料
2014/01/10 职场文书
小学三八妇女节活动方案
2014/03/16 职场文书
房地产资料员岗位职责
2014/07/02 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
监察局领导班子四风问题整改措施思想汇报
2014/10/05 职场文书
个人买房协议书范本
2014/10/06 职场文书
安全生产标语口号
2015/12/26 职场文书
SpringBoot生成License的实现示例
2021/06/16 Java/Android