Become a sponsor

概述
演示模式用于对外展示环境:写操作一律拒绝,读操作与登录类公开接口放行。一个开关(app.demo)保护演示数据不被参观者改动,同时不影响浏览体验。
| 请求 | demo=true 时 |
|---|---|
| GET / HEAD / OPTIONS(读方法) | 放行 |
| 免登录公开路径(登录/验证码/令牌兑换等) | 放行 |
| 其余方法(POST / PUT / DELETE…) | 拒绝,返回 CodeDemoMode("演示环境,禁止操作!") |
判定只看 HTTP 方法与公开标记:读方法与公开路径直接 c.Next(),其余一律拒绝并写入拒绝原因(与限流同款 denied 通道,不产生操作日志)。app.demo=false(默认)时整体放行、零额外开销。
app:
demo: true # 演示模式开关对应环境变量:APP_APP_DEMO=true。
| 模式 | 用途 | 与演示模式 |
|---|---|---|
| app.prod | 生产红线校验(密钥/万能码/生成器) | 可同时开启 |
| app.demo | 拦截写操作 | 演示站通常同时开 prod + demo |
演示站推荐组合:prod=true(拒绝弱密钥等)+ demo=true(拒绝写操作)+ 生成器关闭。