开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1355|回复: 50
收起左侧

[Web源码] Javascript反调试实现判断用户是否打开了浏览器控制台

[复制链接]

结帖率:100% (1/1)
发表于 2024-8-19 18:32:04 | 显示全部楼层 |阅读模式   广东省广州市
分享源码
界面截图:
是否带模块: 纯源码
备注说明: -
本帖最后由 郝单纯💋 于 2024-8-20 11:15 编辑

前言

晓杰最近在研究如何防止用户恶意调试前端网页代码,防止打开控制台进行调试,首先禁用了浏览器页面右键事件和F12等快捷键!然后利用了创建元素是否成功方式进行校验,具体实现代码如下。

代码HTML中插入代码

<script disable-devtool-auto src='https://cdn.jsdelivr.net/npm/disable-devtool'></script>
<script >
document.addEventListener('keydown', function(event) {
    // 检查 F12 键
    if (event.key === 'F12') {
        event.preventDefault();
    }
    // 检查 Ctrl + Shift + I 组合键
    if (event.ctrlKey && event.shiftKey && event.key === 'i') {
        event.preventDefault();
    }
    // 检查 Ctrl + Shift + J 组合键
    if (event.ctrlKey && event.shiftKey && event.key === 'j') {
        event.preventDefault();
    }
    // 检查 Ctrl + Shift + C 组合键
    if (event.ctrlKey && event.shiftKey && event.key === 'c') {
        event.preventDefault();
    }
});
document.addEventListener('contextmenu', function(event) {
    event.preventDefault();
});
var ConsoleManager={
    onOpen(){
    },
    onClose(){
    },
    init(){
        var self = this;
        var x = document.createElement('div');
        var isOpening = false,isOpened=false;
        Object.defineProperty(x, 'id', {
            get(){
                if(!isOpening){
                    self.onOpen();
                    isOpening=true;
                }
                isOpened=true;
            }
        });
        setInterval(function(){
            isOpened=false;
            console.info(x);
            console.clear();
            if(!isOpened && isOpening){
                self.onClose();
                isOpening=false;
            }
        },200)
    }
}
//检测到打开 直接跳转到其他网址 或者做其他方式自己改
ConsoleManager.onOpen = function(){
    location.href="https://bbs.125.la/";
}
ConsoleManager.init();
DisableDevtool({
    ondevtoolopen: (type) => {
        const info = 'devtool opened!; type =' + type;
        },
})
</script>

示例地址

https://pan.metanetdisk.com/

本文作者

Soujer





点评

view-source: 只能看到源码无法进行调试   广东省广州市  发表于 2024-8-20 08:51
网址前面加:view-source: 就能看了   福建省莆田市  发表于 2024-8-20 06:18
大家看看如果还能调出控制台跟我反馈,我这边再研究   广东省广州市  发表于 2024-8-19 18:34

评分

参与人数 3好评 +2 精币 +3 收起 理由
kyo9766 + 1 感谢分享,很给力!~
cbcweb + 1 感谢分享,但说实话一点意义都没有
baitso + 1 + 2 支持开源~!感谢分享

查看全部评分


结帖率:100% (1/1)

签到天数: 15 天

 楼主| 发表于 2024-8-22 10:47:42 | 显示全部楼层   广东省*
Awesome·LYG 发表于 2024-8-21 16:27
无痕模式不会加载js

ctrl+F5刷新的会检测开发人员工具自动关闭页面。

复现不出来 能远程我复现一下吗 看我资料栏有QQ
回复 支持 反对

使用道具 举报

签到天数: 20 天

发表于 2024-8-22 09:37:59 | 显示全部楼层   浙江省宁波市
感谢分享,支持开源!!!
回复 支持 反对

使用道具 举报

结帖率:73% (8/11)

签到天数: 21 天

发表于 2024-8-22 00:05:40 | 显示全部楼层   河南省焦作市

坚持学习,支持论坛
回复 支持 反对

使用道具 举报

结帖率:81% (29/36)

签到天数: 21 天

发表于 2024-8-21 16:27:42 | 显示全部楼层   四川省泸州市
本帖最后由 Awesome·LYG 于 2024-8-21 16:31 编辑

QQ截图20240821162712.png

无痕模式不会加载js

ctrl+F5刷新的会检测开发人员工具自动关闭页面。
但是再次打开,开发人员工具正常可以打开
也就是说有且只有ctrl+F5刷新的同时才会检测到,你正常打开页面不刷新是检测不到的
回复 支持 反对

使用道具 举报

发表于 2024-8-21 11:32:36 | 显示全部楼层   上海市上海市
66666666666666
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 15 天

 楼主| 发表于 2024-8-21 11:10:30 | 显示全部楼层   广东省广州市
Awesome·LYG 发表于 2024-8-21 10:02
Microsoft Edge
版本 127.0.2651.105 (正式版本) (64 位)

奇怪我跟你一样的版本啊,你是不是有缓存啥的 CTRL+F5一下
VX截图_20240821110947.png
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)

签到天数: 18 天

发表于 2024-8-21 10:04:21 | 显示全部楼层   山东省青岛市
学习一下怎么监控,感谢分享
回复 支持 反对

使用道具 举报

结帖率:81% (29/36)

签到天数: 21 天

发表于 2024-8-21 10:02:26 | 显示全部楼层   四川省泸州市

Microsoft Edge
版本 127.0.2651.105 (正式版本) (64 位)
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 15 天

 楼主| 发表于 2024-8-21 09:17:45 | 显示全部楼层   广东省广州市

浏览器什么版本
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表