JavaScript检测是否开启了控制台(F12调试工具)
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加密混淆以及解密方面的文章,敬请期待...
经我们小编测试就最后一种方法可以使用,下篇文章接着介绍。
相关推荐
-
JS检测浏览器开发者工具是否打开的方法详解
在某些情况下我们需要检测当前用户是否打开了浏览器开发者工具,比如前端爬虫检测,如果检测到用户打开了控制台就认为是潜在的爬虫用户,再通过其它策略对其进行处理.本篇文章主要讲述几种前端JS检测开发者工具是否打开的方法. 一.重写toString() 对于一些浏览器,比如Chrome.FireFox,如果控制台输出的是对象,则保留对象的引用,每次打开开发者工具的时候都会重新调用一下对象的toString()方法将返回结果打印到控制台(console tab)上. 所以只需要创建一个对象,重写它的to
-
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
一.UglifyJS UglifyJS是用JavaScript编写的JavaScript压缩工具. 官网:http://lisperator.net/uglifyjs/ 1.通过NPM安装UglifyJS (1)安装Node.js 从Node.js官网https://nodejs.org/en/下载对应平台的安装程序,当前最新版本11.4.0,推荐版本10.14.2. 本人下载的是10.14.2,下载下来是一个node-v10.14.2-x64.msi安装包,按照默认下一步安装. 安装成功后在c
-
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
一个神奇的 APP 这个软件叫做 Auto.js,只支持安卓,是一个不需要 Root 权限的 JavaScript 自动化软件.什么意思呢,就是在你的安卓手机上安装这个 APP,然后通过编写 JS 脚本的方式实现自动化操作.类似的也有其他的一些软件,比如苹果自带的快捷操作,可以通过自定义配置完成一系列的流程,但是由于其目标是所有人都可以使用,所以定制的时候就没有那么灵活. 而 Auto.js 通过写代码的方式定制,那不用多说,灵活性肯定是没的说,关键的是,竟然写 JS 就可以,不用懂 Java,
-
node.js中npm包管理工具用法分析
本文实例讲述了node.js中npm包管理工具用法.分享给大家供大家参考,具体如下: 现在安装node.js,默认就会帮我们装上了npm包管理工具,npm主要用来下载,安装,管理第三方模块. 创建一个包描述文件: npm init [-y] 查看包的信息 npm info <package-name> 查看包的版本信息 npm info <package-name> versions 安装指定的包: npm install <package-name> 默认会安装在当前
-
JavaScript常用工具函数大全
本文实例总结了JavaScript常用工具函数.分享给大家供大家参考,具体如下: 为元素添加on方法 Element.prototype.on = Element.prototype.addEventListener; NodeList.prototype.on = function (event, fn) {. []['forEach'].call(this, function (el) { el.on(event, fn); }); return this; }; 为元素添加trigger方
-
浅谈JavaScript工具链不完全指南
目录 概述 静态类型检查 代码风格检查(Linter) 包管理器 模块加载器 打包工具 任务管理工具(Task Runner) 转译器 构建工具 调试工具 Node 进程管理器 项目脚手架 概述 在 JavaScript 语言日渐强大的同时,与其配套的开发工具也蓬勃发展.现在的 Web 前端项目,早已不是写几个 HTML 页面,加点 CSS 和 JS 就完事了.随便一个实用的项目,可能都需要用到一些框架和第三方库,以及相应的脚手架.依赖包管理.预编译.构建打包.压缩合并等等工具.纯手工完成这些任
-
JavaScript常用工具函数库汇总
对象或数组的深拷贝 /** * 对象或数组的深拷贝 * @param {*} cloneObj 被克隆的对象 * @param {*} targetObj 克隆的目标对象 * @param {*} isOverride 若属性重复,是否覆盖被克隆对象的属性 */ function deepClone(cloneObj, targetObj, isOverride = true) { const _toString = Object.prototype.toString if (_toString
-
分享一款超好用的JavaScript 打包压缩工具
背景 平时大家在开发 Js 项目的时候,可能已经离不开 webpack 等打包工具了.而 webpack 打包速度大概就是"能用"的水平.大概去年开始,我就开始在构想,如果能写一个极速的打包工具,功能未必需要很强,可能对小项目非常有用.去年我用 C++ 写完 parser 之后,便没什么动力写下去了.但是最近发现有这个想法的不止我一个,Figma 的 CTO 业余之际写了一个打包器 https://github.com/evanw/esbuild ,可以说完完全全实现了我想象中的需求,
-
JavaScript常用工具函数汇总(浏览器环境)
前端业务中比较常用的JavaScript工具函数,浏览器环境常用,可直接拷贝在项目里使用.这里统一整理,方便查阅,本文章会持续更新. 一.file转为base64 /** * file转为base64 * @param {*} file file对象 * @param {*} callback */ export const fileToDataURL = (file, callback) => { let freader = new FileReader(); freader.readAsDa
-
JavaScript检测是否开启了控制台(F12调试工具)
js检测用户是否打开调试工具(chrome) (function(){ var re=/x/; var i=0; console.log(re); re.toString=function(){ window.close(); return '第'+(++i)+'次打开控制台'; } })(); JavaScript检测是否开启了控制台(调试工具) 测试后在chrome有效 不少人防止别人趴源码,一般采用检测按键F12之类的,但是这些基本没什么用 现在介绍一个方法,非常管用,可以检测到你是否开启
-
使用JavaScript检测Firefox浏览器是否启用了Firebug的代码
在启用了firebug面板后,会增加一个window.console对象及window.console.firebug变量用于保存当前firebug的当前版本,当关闭firebug面板后则变回正常,于是我们可以通过判断其是否存在来检测是否开启了firebug. 复制代码 代码如下: Boolean(window.console && window.console.firebug) 于是,为了方便在没有启用firebug的情况下避免脚本错误,可以在脚本最前面加入以下语句手工创建空的conso
-
JavaScript检测上传文件大小的方法
本文实例讲述了JavaScript检测上传文件大小的方法.分享给大家供大家参考.具体如下: 通过JS客户端代码限制用户上传文件的大小,但是客户端的验证只是辅助的,服务器端一定还要再做验证 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http
-
JavaScript检测原始值、引用值、属性
在 JavaScript 中,我们常常会看到这样的代码:变量与 null 的比较(这种用法很有问题),用来判断变量是否被赋予了一个合理的值.比如: var Controller = { process: function(items) { if (items !== null) { // 不好的写法 items.sort(); items.forEach(function(item) { // 执行一些逻辑 }); } } } 在这段代码中, process() 方法显然希望 items 是一个
-
JavaScript检测弹出窗口是否已经关闭的方法
本文实例讲述了JavaScript检测弹出窗口是否已经关闭的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: var win = window.open('foo.html','windowName',"width=200,height=200,scrollbars=no"); var timer = setInterval(function() { if(win.closed) { clearInterval(timer);
-
JavaScript检测浏览器cookie是否已经启动的方法
本文实例讲述了JavaScript检测浏览器cookie是否已经启动的方法.分享给大家供大家参考.具体分析如下: JavaScript检测浏览器cookie是否已经启动,代码稍显复杂,通过写入一个测试cookie判断cookie是否已经启动 var dt = new Date(); dt.setSeconds(dt.getSeconds() + 60); document.cookie = "cookietest=1; expires=" + dt.toGMTString(); var
-
javascript检测flash插件是否被禁用的方法
本文实例讲述了javascript检测flash插件是否被禁用的方法.分享给大家供大家参考,具体如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author
-
JavaScript检测并限制复选框选中个数的方法
本文实例讲述了JavaScript检测并限制复选框选中个数的方法.分享给大家供大家参考.具体如下: 这里用JavaScript判断复选框中否选中,同时可以限制复选框的选中个数,这是一个比较实用的JS表单判断示例,复选框的是否选中曾经让很多人纳闷,现在好了,这段代码帮你解决了难题. 运行效果截图如下: 具体代码如下: <html> <head> <title>判断复选框中否选中</title> <script> var check_num = 0;
-
JavaScript检测鼠标移动方向的方法
本文实例讲述了JavaScript检测鼠标移动方向的方法.分享给大家供大家参考.具体实现方法如下: function Start() { stage.addEventListener(MouseEvent.MOUSE_MOVE, CheckDirection); } Start(); var prevX=0; var prevY=0; var curX=0; var curY=0; var dirX:String=""; var dirY:String=""; fu
-
iOS开发检测是否开启定位、是否允许消息推送等权限的实例
1.iOS开发检测是否开启定位: 需要导入: #import <CoreLocation/CoreLocation.h> 代码如下: + (void)openLocationServiceWithBlock:(ReturnBlock)returnBlock { BOOL isOPen = NO; if ([CLLocationManager locationServicesEnabled] && [CLLocationManager authorizationStatus] !
随机推荐
- AngularJS基础知识笔记之过滤器
- 浅谈JSP serverlet的区别与联系
- ORACLE学习笔记-查询篇
- iOS 仿百度外卖-首页重力感应的实例
- js url传值中文乱码之解决之道
- Golang 内存模型详解(一)
- C#图片上传效果实例分析
- linux 下配置安装mysql以及配置【经验】
- asp.net下利用js实现返回上一页的实现方法小集
- CentOS7编译安装新版LNMP环境
- C#使用timer实现的简单闹钟程序
- C# SendKeys使用方法介绍
- 简单总结C语言中各种类型的指针的概念
- 浅谈javascript中字符串String与数组Array
- php设计模式之命令模式使用示例
- Python基于动态规划算法解决01背包问题实例
- python做量化投资系列之比特币初始配置
- Java设计模式—观察者模式详解
- 详解Golang 推荐的命名规范
- 微信小程序提取公用函数到util.js及使用方法示例