# 安全技术处理（PPT 右侧代码截图 + 左侧要点说明）

本页定位：左侧“要点说明”，右侧“代码截图”。每一行要点对应一段代码截图（右侧可用 1~2 张拼接）。

---

## 版式建议（16:9）
- 左侧 40%：要点说明（5~7 条，配小图标）
- 右侧 60%：代码截图拼图（建议 3~4 块）
- 页脚：一行小字“安全策略均可在代码中追溯”

---

## 左侧要点说明（可直接贴 PPT）

**1. 认证与单点登录**
- JWT 校验 + 过期处理
- token_version 版本号校验，旧设备强制下线
- Token 支持 Header / Query，兼容下载接口

**2. 短信验证码认证（阿里云）**
- 阿里云短信通道（签名 + 模板）
- 验证码 2 分钟有效、60 秒冷却
- 注册/重置均需验证码校验

**3. 接口安全与访问控制**
- 全局限流 + 认证接口更严限流
- CORS 白名单限制
- 移动端访问拦截（仅允许 PC）

**4. 上传与附件安全**
- 扩展名白名单
- Magic Number 校验真实类型
- 可执行文件拦截 + 强制下载

**5. 审计与日志脱敏**
- 非 GET 操作全量审计入库
- URL 脱敏（token/password/code）
- 日志分级 + 按天滚动

**6. 运维安全保障**
- 磁盘空间监控
- 低于阈值自动公告告警

---

## 右侧代码截图清单（按块拼图）

**块 A｜认证与单点登录**
- 文件：`server/middleware/auth.js`
- 建议截图区域：`verifyToken` 函数（JWT 校验 + token_version）

**块 B｜短信验证码认证（阿里云）**
- 文件：`server/utils/sms.js`
- 建议截图区域：`sendVerifyCode` 调用 + 短信模板参数

**块 C｜登录/注册/重置密码安全**
- 文件：`server/routes/auth.js`
- 建议截图区域：
  - 发送验证码接口：冷却 + 过期
  - 重置密码：bcrypt + token_version 更新

**块 D｜限流 + CORS + 移动端拦截**
- 文件：`server/index.js`
- 建议截图区域：`rateLimit` + `cors` + Mobile Interceptor

**块 E｜上传与附件安全**
- 文件：`server/routes/achievements.js`
- 建议截图区域：白名单 + FileType Magic Number 校验 + 拦截可执行

**块 F｜审计日志与脱敏**
- 文件：`server/middleware/auditLogger.js`
- 建议截图区域：URL 脱敏 + 审计入库

**块 G｜日志落盘**
- 文件：`server/utils/logger.js`
- 建议截图区域：winston daily rotate 配置

**块 H｜磁盘空间告警**
- 文件：`server/utils/diskMonitor.js`
- 建议截图区域：阈值判断 + 生成系统公告

---

## 右侧拼图布局建议
- 推荐 3 列 × 2 行小块拼图：A/B/C/D/E/F
- 若空间不足：A/D/E/F 四块即可（覆盖最关键安全点）

---

## 页脚小字（可选）
“以上安全策略均在代码中可审计、可追踪、可复现。”
