This commit is contained in:
+2
-2
@@ -1,14 +1,14 @@
|
||||
# Fonu 文档索引
|
||||
|
||||
> 维护约定:新增方案 / 审查文档时在下方登记;方案落地后在「状态」列标注实施结果,并给已被推翻的描述加时效说明。
|
||||
> 最近更新:2026-09-27(v1.2.20)
|
||||
> 最近更新:2026-09-27(v1.2.21)
|
||||
|
||||
## 方案与设计(本目录)
|
||||
|
||||
| 文件 | 主题 | 状态 |
|
||||
| --- | --- | --- |
|
||||
| `project-analysis-2026-09-27.md` | 全项目详细分析(v1.2.19):架构、模块、数据、API、前端、链路、风险与改进路线 | 当前版本快照 |
|
||||
| `improvement-roadmap-2026-09-27.md` | P0-P3 改进路线实施方案:逐项改法、测试、验收、依赖、发布与回滚 | P0-1 已完成,其余待实施 |
|
||||
| `improvement-roadmap-2026-09-27.md` | P0-P3 改进路线实施方案:逐项改法、测试、验收、依赖、发布与回滚 | P0-1、P0-3 已完成,其余待实施 |
|
||||
| `project-audit-2026-09-24.md` | 全项目审查:P0/P1/P2 分级,含精确行号与逐条修法 | **进行中**——P0 已随 v1.2.7 完成,P1 实施中 |
|
||||
| `frp-server-list-merge-plan.md` | FRP 服务端列表并入「公网服务端」页(方案 A,四步) | 步 1/2 已完成(v1.2.6);步 3 文案收尾、步 4 死样式清理未做 |
|
||||
| `agent-capability-plan.md` | fonu-agent 能力扩展(P0/P1/P2/P3) | 已实施(agent 0.11.0);P3 三项不做 |
|
||||
|
||||
@@ -312,6 +312,8 @@ Fonu 首次启动已创建管理员账户
|
||||
|
||||
## 3.3 P0-3:Agent Token 使用常量时间比较
|
||||
|
||||
> 实施状态:2026-09-27 已完成。
|
||||
|
||||
### 3.3.1 现状
|
||||
|
||||
`internal/agent/server.go` 的 `auth` 方法使用普通字符串比较:
|
||||
@@ -370,6 +372,14 @@ if token == "" || !secureEqual(token, s.cfg.Token) {
|
||||
- 正确 Token 通过,错误 Token 拒绝。
|
||||
- Agent 不依赖应用侧 API 中间件代码。
|
||||
|
||||
### 3.3.6 实施记录
|
||||
|
||||
- `internal/agent/server.go` 新增 `bearerToken` 与 `secureTokenEqual`,认证路径改用 `crypto/subtle.ConstantTimeCompare`。
|
||||
- `AgentVersion` 已由 `0.12.7` 提升到 `0.12.8`。
|
||||
- 新增 `internal/agent/auth_test.go`,覆盖正确 Token、大小写 Bearer、多余空白、错误 Token、长度不同、缺失 Authorization 和错误认证方案。
|
||||
- 内嵌 amd64 / arm64 二进制已重编;VPS 需要执行一次「升级 Agent」。
|
||||
- 验证通过:`go test ./internal/agent -count=1`、`go test ./... -count=1`、`go vet ./...`、`npm test`(17 条)。
|
||||
|
||||
---
|
||||
|
||||
## 3.4 P0-4:限流状态解析失败时拒绝覆盖原状态
|
||||
|
||||
Reference in New Issue
Block a user