当前位置: 首页 > news >正文

防止用户调试网页的若干方法

1、禁用鼠标右键

document.addEventListener('contextmenu', function (e) {
    e.preventDefault();
});

2、禁止F12或其他打开调试面板的快捷键

document.addEventListener('keydown', function (event) {
    if (event.key == "F12" || (event.ctrlKey && event.shiftKey && (event.key === 'I' || event.key === 'C'))) {
        event.preventDefault(); // F12, Control+Shift+I, Control+Shift+C
    }
}, true);

3、debugger检测

setInterval(() => {
    let yy1 = performance.now();
    debugger;
    let yy2 = performance.now();
    if (yy2 - yy1 > 111) {
        window.location.href = 'about:blank';
    }
}, 1111);

performance.now()返回高精度时间戳

打开调试面板时会停留在debugger行,从而导致if成立。

4、判断当前环境,并整合代码

// stop.js
if (process.env.NODE_ENV == 'production') {
    setInterval(() => {
        let yy1 = performance.now();
        debugger;
        let yy2 = performance.now();
        if (yy2 - yy1 > 111) {
            window.location.href = 'about:blank';
        }
    }, 1111);
    document.addEventListener('contextmenu', function (e) {
        e.preventDefault();
    });

    document.addEventListener('keydown', function (event) {
        if (event.key == "F12" || (event.ctrlKey && event.shiftKey && (event.key === 'I' || event.key === 'C'))) {
            event.preventDefault(); // F12, Control+Shift+I, Control+Shift+C
        }
    }, true);
}

最后在main.js中引入,就完成了

5、局限性

即便禁用鼠标右键、F12、快捷键,浏览器仍然能打开调试面板

打开之后还能通过下面这个按钮禁用断点,所有的努力白费~~~

所以前端的代码运行在魔鬼计算机上,后端安全才是王道~~~

相关文章:

  • 思维训练让你更高、更强 |【逻辑思维能力】「刷题训练笔记」假设法模式逻辑训练题(6-16)
  • 简单以太网配置
  • 【算法】分治-快排 算法专题
  • 第十三天-搜索算法:开启探索之门
  • 【css酷炫效果】纯CSS实现瀑布流加载动画
  • Swift 并发中的任务让步(Yielding)和防抖(Debouncing)
  • 多机调度问题(C语言)
  • 《大语言模型》学习笔记(三)
  • LeetCode[42] 接雨水
  • Java设计模式建模语言面向对象设计原则
  • C#本地将labelme数据集转换为机器视觉yolo数据集格式
  • 数据库练习3
  • final 在 java 中有什么作用?
  • 用了Cline和华为云的大模型,再也回不去了
  • Skia 图形引擎介绍
  • 5.2《生活中的透镜》——5.3《凸透镜成像规律》讲后再上
  • 《保险科技》
  • 什么是YApi?开源接口管理平台部署教程
  • 使用Docker快速搭建OpenAI兼容的Embeddings与Rerank双API服务
  • 桌子(table、desk)以及其他常见物体的urdf模型,用于搭建机器人环境如pybullet、Gazebo
  • 竞彩湃|足总杯决赛或有冷门,德甲欧冠资格之争谁笑到最后
  • 美联储官员:美国经济增速可能放缓,现行关税政策仍将导致物价上涨
  • 就规范涉企行政执法专项行动有关问题,司法部发布解答
  • 俄媒:俄乌代表团抵达谈判会场
  • 上海黄浦江挡潮闸工程建设指挥部成立,组成人员名单公布
  • 马上评|“衣服越来越难买”,对市场是一个提醒