-
-
Notifications
You must be signed in to change notification settings - Fork 0
Security Model
DNT_OF edited this page Aug 24, 2026
·
3 revisions
双 token 模型:
-
verify_token— 只读数据接口(低权限) -
control_token— 控制接口 + 语音 WS + WS 事件流(高权限)
token 比较使用常量时间算法。失败按权限级分表计数(10 次/5 分钟锁 5 分钟)。 数据接口被刷不会锁死管理员的高权限通道。
所有链路均为明文(HTTP/ws://),未加密。
安全防护由使用者自行负责:
- 仅在内网/受信网络使用
- 对外暴露时经反向代理加 HTTPS/WSS
-
control_token必须随机生成强密码 -
control_enabled默认关闭是有意为之
| 层 | 防护 |
|---|---|
| HTTP | Slowloris 总时限 15s + 并发闸位 64 + 头部 16KB + 体 64KB 上限 |
| WS 控制 | 分片组装 30s + 空闲 90s + 256KB/连接/并发上限 |
| 语音 | 连接上限 8 + 握手超时 10s + 发送 Poll 守卫 |
因未加密链路导致的 token 泄露、语音泄露、服务器入侵等一切后果,本项目与作者不承担任何责任。 详见 SECURITY.md。
配置文件由 LabAPI 自动生成:%AppData%/SCP Secret Laboratory/LabAPI/configs/<端口>/SLDataAPI/config.yml
键名为 snake_case(LabAPI UnderscoredNamingConvention)。
| 键 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| debug | bool | false | Debug 日志开关 |
| verify_token | string | your_secret_token | 只读接口鉴权 token |
| http_port | int | 8081 | HTTP 监听端口 |
| push_interval_seconds | int | 8 | 数据快照刷新间隔 |
| control_enabled | bool | false | 控制接口总开关 |
| control_token | string | "" | 控制接口专用 token(≥8 位四类字符) |
| control_transport | string | http | 传输方式 http|ws 二选一硬互斥 |
| auto_update_check | bool | true | 启动时检查更新 |
| auto_update_install | bool | true | 自动下载替换 DLL |
| file_root | string | "" | 文件端点根目录(空=禁用) |
| log_directory | string | "" | 服务器日志目录(空=自动探测) |
| voice_enabled | bool | false | 语音转发 WebSocket |
| voice_port | ushort | 8082 | 语音 WS 监听端口 |
| voice_record_enabled | bool |