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

需求背景:

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

使用工具介绍:

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

相关推荐
软件检测小牛玛20 小时前
具备软件功能测试资质的机构哪家更权威?山东软件测评机构 中承信安
功能测试·单元测试·软件测试报告·软件测评机构
Warren981 天前
Pytest Fixture 作用域与接口测试 Token 污染问题实战解析
功能测试·面试·单元测试·集成测试·pytest·postman·模块测试
测试秃头怪2 天前
面试大厂就靠这份软件测试八股文了【含答案】
自动化测试·软件测试·python·功能测试·面试·职场和发展·单元测试
测试杂货铺2 天前
软件测试面试题大全,你要的都在这。。
自动化测试·软件测试·python·功能测试·面试·职场和发展·测试用例
测试大圣2 天前
软件测试基础知识总结(超全的)
软件测试·python·功能测试·测试工具·职场和发展·单元测试·测试用例
软件检测小牛玛2 天前
如何选择合规靠谱的软件功能测试机构?软件测评机构规格指南
功能测试·测试工具·软件测试报告·软件功能测试·软件测评机构
少云清4 天前
【金融项目实战】5_功能测试 _业务流程测试
功能测试·金融
橘颂TA5 天前
【测试】自动化测试函数介绍——web 测试
python·功能测试·selenium·测试工具·dubbo
Li_Spike6 天前
黑盒测试方法以及测试网关步骤
功能测试
测试_AI_一辰6 天前
Agent & RAG 测试工程05:把 RAG 的检索过程跑清楚:chunk 是什么、怎么来的、怎么被命中的
开发语言·人工智能·功能测试·自动化·ai编程