# InscribeGuard **Repository Path**: chumbir/inscribe-guard ## Basic Information - **Project Name**: InscribeGuard - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-02 - **Last Updated**: 2025-12-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # InscribeGuard 一个强大的网页内容保护库,用于防止调试、复制、截图等操作,保护前端敏感内容。 ## ✨ 核心功能 - 🚫 **禁止开发者工具** - 拦截 F12、Ctrl+Shift+I 等快捷键 - 🐛 **Debugger 防护** - 无限循环 debugger 阻止调试 - 🖼️ **截图防护** - 检测到截图快捷键立即全屏遮挡 - 📷 **图片保护** - 禁止右键、拖拽保存图片 - 📋 **禁止复制** - 阻止文本选择、复制、粘贴 - ⚠️ **NoScript 警告** - JavaScript 禁用时显示警告 - 🔍 **开发者工具检测** - 检测到开发者工具自动刷新页面 ## 📦 安装 ### 方式一:直接引入(浏览器) ```html ``` ### 方式二:ESM 模块 ```javascript import InscribeGuard from 'path/to/index.esm.js'; InscribeGuard.init({ // 配置选项 }); ``` ### 方式三:CommonJS ```javascript const InscribeGuard = require('path/to/index.js'); InscribeGuard.init({ // 配置选项 }); ``` ## 🚀 快速开始 ### 默认配置(推荐) 直接引入即可,所有保护功能自动启用: ```html

受保护的页面

此页面受 InscribeGuard 保护

``` ### 自定义配置 ```javascript InscribeGuard.init({ disableContextMenu: true, // 禁止右键菜单(默认: true) disableDevTools: true, // 禁止开发者工具快捷键(默认: true) disableSelection: true, // 禁止文本选择(默认: true) disableCopy: true, // 禁止复制/粘贴(默认: true) disableDrag: true, // 禁止拖拽(默认: true) disableImageProtection: true, // 图片保护(默认: true) disableScreenshot: true, // 截图防护(默认: true) enableDebuggerLoop: true, // debugger 循环(默认: true) enableNoScriptWarning: true, // NoScript 警告(默认: true) detectDevTools: false, // 开发者工具检测(默认: false) onDevToolsOpen: () => { // 检测到开发者工具的回调 window.location.reload(); } }); ``` ## 🛡️ 功能详解 ### 1. 开发者工具防护 **拦截快捷键:** - `F12` - 打开开发者工具 - `Ctrl+Shift+I` - 打开检查元素 - `Ctrl+Shift+J` - 打开控制台 - `Ctrl+Shift+C` - 元素选择器 - `Ctrl+U` - 查看源代码 - `Ctrl+S` - 保存页面 **Debugger 循环:** - 每 100ms 触发 `debugger` 语句 - 即使通过其他方式打开开发者工具也无法正常调试 **开发者工具检测:** - 检测窗口尺寸变化 - 发现开发者工具打开自动执行回调(默认刷新页面) ### 2. 截图防护 **拦截的快捷键:** - `PrintScreen` - 截图键 - `Alt+A` - 微信/QQ 截图 - `Ctrl+任意键` - 浏览器截图扩展 - `Win+Shift+S` - Windows 截图工具 **防护机制:** - 检测到截图快捷键立即弹出全屏黑色遮挡层 - 显示"禁止截图"警告 - 截图工具只能截到遮挡层内容 ### 3. 图片保护 **保护措施:** - 禁止右键点击图片 - 禁止拖拽图片到桌面 - 禁用图片的指针事件 - 自动保护动态添加的图片 **技术实现:** ```javascript img.ondragstart = () => false; img.oncontextmenu = () => false; img.style.pointerEvents = 'none'; img.style.userSelect = 'none'; ``` ### 4. 复制防护 **阻止的操作:** - `Ctrl+A` - 全选 - `Ctrl+C` - 复制 - `Ctrl+X` - 剪切 - `Ctrl+V` - 粘贴 - 鼠标选择文本 - 右键复制 ### 5. NoScript 警告 当用户禁用 JavaScript 时: - 自动显示全屏黑色警告页面 - 中英文双语提示 - 完全覆盖原页面内容 - 无需手动添加任何代码 ## 📋 配置选项说明 | 选项 | 类型 | 默认值 | 说明 | |------|------|--------|------| | `disableContextMenu` | Boolean | `true` | 禁止右键菜单 | | `disableDevTools` | Boolean | `true` | 禁止开发者工具快捷键 | | `disableSelection` | Boolean | `true` | 禁止文本选择 | | `disableCopy` | Boolean | `true` | 禁止复制/粘贴 | | `disableDrag` | Boolean | `true` | 禁止拖拽 | | `disableImageProtection` | Boolean | `true` | 图片保护 | | `disableScreenshot` | Boolean | `true` | 截图防护(带遮挡层) | | `enableDebuggerLoop` | Boolean | `true` | debugger 无限循环 | | `enableNoScriptWarning` | Boolean | `true` | NoScript 警告 | | `detectDevTools` | Boolean | `false` | 开发者工具检测 | | `onDevToolsOpen` | Function | `() => location.reload()` | 检测到开发者工具的回调 | ## 🎯 使用场景 - 📱 在线考试系统 - 💰 付费内容保护 - 🔐 敏感信息展示 - 🎨 图片版权保护 - 📄 文档内容保护 - 🎓 在线课程平台 ## ⚠️ 注意事项 1. **兼容性**:支持现代浏览器(Chrome、Firefox、Safari、Edge) 2. **用户体验**:过度保护可能影响正常用户体验,请根据实际需求调整配置 3. **非绝对安全**:任何前端保护都可被绕过,此库仅增加破解难度 4. **性能影响**:debugger 循环会持续执行,可能影响性能 ## 📁 项目结构 ``` EnableTriggerJs/ ├── src/ │ ├── index.js # CommonJS/UMD 版本 │ └── index.esm.js # ES Module 版本 ├── examples/ │ └── test.html # 示例页面 ├── package.json └── README.md ``` ## 🔧 开发 ### 测试 打开 `examples/test.html` 进行功能测试: ```bash # 使用任意 HTTP 服务器 python -m http.server 8080 # 或 npx serve . ``` 访问 `http://localhost:8080/examples/test.html` ## 📄 License MIT License ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📮 联系方式 - Gitee: [https://gitee.com/chumbir/inscribe-guard](https://gitee.com/chumbir/inscribe-guard) --- ⭐ 如果这个项目对你有帮助,请给个 Star 支持一下!