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

需求背景:

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

使用工具介绍:

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(边界操作验证) | 右键菜单开启调试工具为常见操作场景 |

相关推荐
逆光行1 天前
奖池派对自动化测试方案与实践报告
python·功能测试·postman
wh_xia_jun2 天前
HttpRunner 简介
功能测试
学代码的真由酱2 天前
Java文档搜索引擎-测试报告
java·自动化测试·功能测试·搜索引擎·性能测试·测试报告
littlebigbar3 天前
关于测试排期,遇到冲突怎么办?
功能测试·产品经理
自动化测试行业观察4 天前
语音客服体验测评解决方案
功能测试·自动化·语音识别·可用性测试·用户体验·智能测试
常优电子PCBA4 天前
一站式 PCBA 配套功能测试包含哪些项目?
功能测试·常优电子pcba·pcba一站式
测试员周周6 天前
【Appium 系列】第18节-重试与容错 — 移动端测试的稳定性保障
人工智能·python·功能测试·ui·单元测试·appium·测试用例
天天爱吃肉82186 天前
2026北京车展专题|电控产品及技术全景解读:集成化、高压化、碳化硅成主流
人工智能·python·功能测试·嵌入式硬件·汽车
汽车仪器仪表相关领域7 天前
Kvaser Hybrid Pro 2xCAN/LIN 双通道可编程CAN/LIN通讯接口:一机双模可编程,汽车车身混合总线测试专用设备
人工智能·功能测试·安全·fpga开发·汽车·压力测试
测试员周周7 天前
【Appium 系列】第14节-断言与验证 — Validator 的设计
android·人工智能·python·功能测试·ios·单元测试·appium