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

前端项目部署阻止用户打开控制台

需求:在前端开发过程中,会遇到生产坏境不让用户打开控制台,防止不法分子虚假信息操作。

废话不多说一共两步,添加我们的js方法,和在全局使用这个方法。

第一步:添加我的js文件:
//禁用开发者工具
export default async () => {
    if ((localStorage.getItem('devTools') && localStorage.getItem('devTools') === 1) || localStorage.getItem('devTools') === '1') {
        return;
    }
    document.onkeydown = () => {
        //禁用F12
        if (window.event && window.event.keyCode === 123) {
            return false;
            //禁用ctrl+shift+i,
        } else if (window.event.ctrlKey && window.event.shiftKey && window.event.keyCode === 73) {
            return false;
            //屏蔽Shift+F10
        } else if (window.event.shiftKey && window.event.keyCode === 121) {
            return false;
        }
    };
    window.oncontextmenu = (e) => {
        e.preventDefault();
    };
    setInterval(function () {
        check();
    }, 1000);

    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) {
            console.error(err);
        }
    };
    check();
};
第二步:在全局使用,以vue项目为例,在main.js中引用使用
import disableDeveloperTools from '你存放js文件的路径';


app.use(store);
app.use(router);

//判断生产环境使用
if (import.meta.env.MODE === 'production') {
    disableDeveloperTools();
}

app.mount('#app');

相关文章:

  • BGP状态和机制
  • 鱼皮智能云图库项目学习
  • Unity基础学习(二)
  • docker 占用系统空间太大了,整体迁移到挂载的其他磁盘|【当前普通用户使用docker时,无法指定镜像、容器安装位置【无法指定】】
  • 从 Spring Boot 2 升级到 Spring Boot 3 的终极指南
  • 02、Hadoop3.x从入门到放弃,第二章:集群环境搭建
  • 从零开始用react + tailwindcs + express + mongodb实现一个聊天程序(三) 实现注册 登录接口
  • Gin框架深度解剖:路由树的实现原理
  • 蓝桥杯单片机基础部分——1.5基础模块代码升级
  • 【软件设计】SOLID原则详解与PHP实战示例
  • PageForge v2025.1.6 发布:支持 KaTeX 数学公式渲染
  • Spring AI + 大模型开发应用
  • 爬楼梯问题
  • 【Alertmanager】Alertmanager告警路由,告警静默,告警抑制,高可用的实现
  • CryptoJS库中WordArray对象支持哪些输出格式?除了toString() 方法还有什么方法可以输出吗?WordArray对象的作用是什么?
  • Python入门教程丨3.8 网络编程
  • 计算机毕业设计 ——jspssm504springboot 职称评审管理系统
  • Redis搭建集群
  • linux--多进程开发(4) 进程退出、孤儿进程、僵尸进程、进程回收wait()
  • 从最小依赖角度谈静态库与动态库的选择及配置策略
  • 建设网站的技术风险/竞价开户
  • windows网站建设教程/百度推广账号注册流程
  • 学雷锋_做美德少年网站/关键词优化seo排名
  • 用jquery做网站好吗/湘潭网站seo
  • 网站建设发展历程/磁力猫引擎
  • 企业手机网站cms系统/域名服务器查询