🔐

虚拟仿真实验 · 访问鉴权

本实验内容已加密存储。
请输入课程口令,通过后方可派生密钥解密并加载。
演示口令:zhangjianli (真实环境应由服务端一次性下发)
⏸ 实验画面已暂停显示
检测到窗口失焦或切换到后台,返回本页面即可恢复

单网页虚拟仿真实验 · 前端版权保护演示台

十三项版权保护能力可逐个体验 · 零外部依赖 · 支持 file:// 离线运行(含域名级防护)
天津职业大学 - 张建立
鉴权 水印×4 防下载 DevTools 完整性 LSB 域名锁 切换守卫 加载兜底 风险地址
🛰️
vr-pano-014 · 全景仿真舞台
默认展开
实验加载中…
按住拖动可环视 · 用于验证水印层是否吃掉交互事件
⚠️ 检测到开发者工具
为保护实验内容,画面已模糊处理。请关闭开发者工具后继续。
📋
安全事件日志(模拟上报 /api/report)
🌐
域名级防护演示区 · copyright-guard A2 系列(新增)
A2 · 5 项
🔒
9 · 域名白名单(Domain Lock)
A2

页面 <head> 最前判定:当前域名是否落在白名单。命中即 window.stop() 停载 + 红色不可关闭弹窗(role=alert + MutationObserver 自愈),业务脚本首行 if(!window.__CG_DOMAIN_OK__)return;。

等待检测…
支持 ?guardoff 总开关不影响本层(它要在业务脚本前跑)。空白名单=未启用限制→放行。
🔁
10 · 拦截切换开关 + 报警
A2.1

部署后授权上下文里可手动开/关域名拦截;每次切换弹红色报警,含 操作时间、状态变化(开启↔关闭)、影响说明,确认才生效,状态持久化 localStorage('cg_domain_lock_v1')。

域名拦截: 开启
开启中 · 关闭时会先弹报警确认
被拦截的页面不渲染该开关(安全边界)。下方按钮可随时调出与切换同款的报警弹窗预览。
🔀
11 · 域名切换守卫(变更检测)
A2.3

把当前域名与「上次基线域名(localStorage)」比对,不同即视为已切换:切到未授权→阻断;切到另一授权→提示并继续。

等待检测…
🛟
12 · 加载失败兜底
A2.4

初始化即装监听:捕获资源/脚本错误 + 死信定时器。业务就绪须调 markReady() 或注册探针;否则空白/失败/超时→橙色告警而非空白白页。

勾选上方状态后点「评估」
纯函数 evaluate({ready,failed,blocked,blank}):blocked→不弹;ready 且无失败→不弹;其余组合→弹。
⚠️
13 · 风险/异常地址守卫
A2.5

把命中风险清单 / 内网 IP / 回环的地址识别为风险,立即中断并红色告警(不自动关闭),避免静默空白白页。与白名单互补。

等待检测…
弹窗预览(外层为演示沙盒,可关闭;内层即 skill 真实告警样式)关闭预览 ✕