禁用浏览器调试工具,保障门户安全

需求背景:

门户面向互联网访问,为防止泄露业务信息、客户信息等,前端页面禁止使用浏览器自带的调试工具

使用工具介绍:

disable-devtool是一款用于禁用浏览器开发者工具(DevTools)的前端插件,主要目的是防止用户通过 F12、右键检查等方式打开控制台调试页面,常用于保护前端代码逻辑、防止数据爬取或作弊等场景。以下是关于该插件的详细介绍:

核心功能

检测并禁用 DevTools:当用户尝试打开开发者工具(包括浏览器菜单、快捷键、右键菜单等)时,自动触发禁用逻辑。

多种禁用策略:支持关闭控制台、跳转空白页、刷新页面、显示警告信息等方式。

灵活配置:可自定义触发条件(如仅生产环境生效)、白名单 IP/设备、提示文案等。

轻量无依赖:体积小(约 10KB),不依赖其他库,兼容主流框架(Vue/React/Angular 等)。

实现概要:

  1. 门户前端,新增插件"disable-devtool",使用此插件运行代码,访问门户页面将禁止使用浏览器自带的调试工具;
    2、弹出禁止弹窗,提示语:'系统检测到非法调试行为,为保障平台安全,请勿开启开发者工具,请关闭调试窗口后操作';
    3、如果浏览器调试工具未关闭,提示语弹窗降无法彻底关闭;
    4、如果浏览器调试工具关闭,自动刷新当前页面,提示语弹窗关闭;

测试用例设计:

测试用例表格(功能测试为主,覆盖正常/异常/边界场景)

|----------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|-------------|--------------------------------|
| 用例名称 | 前置条件 | 执行步骤 | 预期结果 | 优先级 | 测试环境说明 |
| 未开启调试工具时访问门户页面,验证无弹窗且页面正常加载 | 1. 测试环境:Windows 10/11,Chrome 114+、Firefox 113+、Edge 114+(主流浏览器); 2. 系统已部署插件"disable-devtool"并正常运行; 3. 门户页面URL可正常访问; 4. 浏览器未开启任何调试工具(开发者工具未打开)。 | 1. 打开目标浏览器(如Chrome); 2. 在地址栏输入门户页面URL,回车访问; 3. 观察页面加载状态及是否有弹窗。 | 1. 页面正常加载,无弹窗出现; 2. 页面功能(如导航、内容显示)与未启用插件时一致。 | P1(正常场景验证) | 浏览器默认设置,禁用广告拦截等干扰插件 |
| 开启浏览器调试工具(F12)访问门户页面,验证弹窗提示及无法关闭 | 1. 同"未开启调试工具"前置条件; 2. 准备开启调试工具(如Chrome按F12)。 | 1. 打开Chrome浏览器,按F12键开启开发者工具(确保工具面板可见); 2. 在地址栏输入门户页面URL,回车访问; 3. 观察是否弹出提示弹窗; 4. 记录弹窗提示语内容; 5. 尝试关闭弹窗:点击弹窗右上角"×"、点击弹窗外部区域、按ESC键。 | 1. 立即弹出模态弹窗,背景页面置灰不可操作; 2. 弹窗提示语为:"系统检测到非法调试行为,为保障平台安全,请勿开启开发者工具,请关闭调试窗口后操作" (文字完全一致,无错别字/多余空格); 3. 所有关闭操作均无效,弹窗持续显示,无法彻底关闭。 | P0(核心功能验证) | Chrome 114+,调试工具以独立窗口或面板形式开启均可 |
| 开启调试工具后关闭调试工具,验证弹窗关闭及页面自动刷新 | 1. 同"开启调试工具访问"前置条件; 2. 确保调试工具处于开启状态。 | 1. 打开Chrome,按F12开启开发者工具,访问门户页面,确认弹窗已弹出; 2. 关闭开发者工具:点击工具面板右上角"×"或再次按F12键; 3. 观察弹窗状态及页面变化。 | 1. 关闭调试工具后,弹窗自动关闭; 2. 当前页面自动刷新 (可通过页面内容重新加载、URL不变但资源重新请求判断); 3. 刷新后页面正常加载,无弹窗。 | P0(核心功能验证) | 调试工具关闭后,浏览器焦点回到页面 |
| Firefox浏览器开启调试工具访问,验证弹窗提示及无法关闭 | 1. 同"未开启调试工具"前置条件; 2. 使用Firefox浏览器(113+版本)。 | 1. 打开Firefox,按F12开启"Web开发者工具"(或右键页面→"检查元素"); 2. 访问门户页面URL; 3. 观察弹窗提示语及关闭尝试。 | 1. 弹出模态弹窗,提示语与用例2完全一致; 2. 尝试关闭弹窗(点击"×"、外部区域、ESC)均无效,弹窗无法关闭。 | P1(兼容性验证) | Firefox 113+,调试工具以侧边栏或独立窗口开启均可 |
| 通过右键"检查元素"开启调试工具访问,验证弹窗触发 | 1. 同"未开启调试工具"前置条件; 2. 浏览器未预设开启调试工具。 | 1. 打开Chrome浏览器,访问门户页面URL; 2. 右键页面空白处,选择"检查"(或"审查元素")开启调试工具; 3. 观察是否弹出提示弹窗。 | 1. 开启调试工具后立即弹出指定提示语的弹窗; 2. 弹窗无法关闭(同用例2)。 | P1(边界操作验证) | 右键菜单开启调试工具为常见操作场景 |

相关推荐
测试老哥16 小时前
软件测试之功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
测试_AI_一辰20 小时前
项目实践笔记 9:打卡/日报Agent项目Bug 修改与稳定性收口(v1.0)
android·开发语言·人工智能·功能测试·ai编程·ab测试
测试_AI_一辰1 天前
Agent & RAG 测试工程笔记 01:Tool Calling 跑通 + 本地 PDF 接入(智谱 GLM)
人工智能·笔记·功能测试·自动化·bug
流水线上的指令侠1 天前
补充说明——针对《C#:从 0 到 1 创建基于 NUnit + FlaUI 的 WPF UI 自动化测试项目》
功能测试·ui·c#·自动化·wpf
流水线上的指令侠1 天前
C# 实战:从 0 到 1 搭建基于 NUnit + FlaUI 的 WPF UI 自动化测试项目
功能测试·ui·c#·自动化·wpf·visual studio
赛希咨询1 天前
功能测试与非功能测试的区别
功能测试
2401_835302481 天前
击穿测试护航,解锁薄膜聚合物的安全密码
大数据·人工智能·功能测试·安全·制造·材料工程
安畅检测齐鲁物联网测试中心2 天前
软件信创符合性测试流程与材料清单
功能测试
可可南木3 天前
3070文件格式--10--testorder文件格式详解
功能测试·测试工具·pcb工艺