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

web项目添加防调试

新建js文件debug-vconsole.js

/**防止非法调试*/
(function () {
  function getLocationHrefParams(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return unescape(r[2]); return null;
  }
  (function () {
    var notdebugger = !getLocationHrefParams("notdebugger"); //有notdebugger标识可以调试
    var origin = location.origin.indexOf("8080") != -1 && location.origin.indexOf("test") == -1;// 8080下且非test环境,可以调试

    if (notdebugger && origin) {
      (() => {
        function block() {
          if (window.outerHeight - window.innerHeight > 200 || window.outerWidth - window.innerWidth > 200) {
            document.body.innerHTML = "非法调试,请关闭调试后重新刷新页面";
          }
          setInterval(() => {
            (function () {
              return false;
            }
            ['constructor']('debugger')
            ['call']());
          }, 50);
        }
        try {
          block();
        } catch (err) { }
      })();
    }
  })();

  // 添加vconsole
  var script = document.createElement('script');
  // 设置<script>标签的src属性
  script.setAttribute('src', 'https://cdn.bootcdn.net/ajax/libs/vConsole/3.9.0/vconsole.min.js');
  // 将<script>标签插入到页面的<head>或<body>中
  document.head.appendChild(script);

  var getURLParameters = function () {
    var url = location.href
    return (url.match(/([^?=&]+)(=([^&]*))/g) || []).reduce(
      (a, v) => ((a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1)), a),
      {}
    );
  }
  if (getURLParameters().vconsole) {
    window.addEventListener("load", function () {
      new VConsole();
    });
  }
})();

项目引用:

<!--文件内的代码会自动执行-->
<script src="./debug-vconsole.js"></script>

效果如下请,没有添加notdebugger
在这里插入图片描述

添加浏览器地址栏添加notdebugger=1,
在这里插入图片描述

可以打开调试页面,并且展示vconsole,去
在这里插入图片描述


http://www.kler.cn/a/152539.html

相关文章:

  • 腾讯云年末感恩回馈:2核2G4M云服务器118元1年,新老用户同享!
  • Node——npm包管理器的使用
  • C语言-指针讲解(4)
  • 记一次Kotlin Visibility Modifiers引发的问题
  • 【EasyExcel】导出excel并支持自定义设置数据行背景颜色等
  • 【ASP.NET CORE】EntityFrameworkCore 数据迁移
  • 键盘打字盲打练习系列之刻意练习——1
  • ssm+java车辆售后维护系统 springboot汽车保养养护管理系统+jsp
  • 不会代码(零基础)学语音开发(学习工具)
  • 物联网实训室虚拟仿真软件建设方案
  • 代码随想录刷题题Day2
  • 【PUSDN】WebStorm中报错Switch language version to React JSX
  • 可验证随机函数(VRF)
  • 百度推送收录工具-免费的各大搜索引擎推送工具
  • 如何在服务器上运行python文件
  • 二叉树题目:祖父结点值为偶数的结点和
  • Android设置文字颜色渐变
  • 单片机学习12——电容
  • 视频后期效果制作工具Mocha Pro 2022 Plugins mac中文版软件介绍
  • vscode项目推送到git