fix version 1

This commit is contained in:
2026-09-22 21:15:34 +08:00
parent 9f86366638
commit d63d7e8b3a
277 changed files with 9959 additions and 1514 deletions

View File

@@ -215,3 +215,22 @@ flowchart TD
10. **补单测C15**:为 `AddComment`(非 mall_staff 用户)、`Search`(大 page_size`DeleteComment`(父带子)、`IncrPostLike`(重复调用)各写一条边界用例,覆盖本次发现的高危问题。
> 本报告只列出与现有实现直接相关的修复项不引入统一框架、DTO/VO 层、DDD/CQRS 等额外抽象。所有结论均附 `文件:行号` 证据;未发现证据处已标注【信息不足】或明确为推断。
## 9. 整改记录2026-09-22
> 本节记录按本报告结论执行的代码整改。整改遵循**最小修正**原则未引入新框架、抽象层、DTO/VO、事件总线未拆分服务边界**未修改任何 `proto/*.proto` 与生成的 `pb/*.go`**;新增/修改注释均为中文;口令类摘要统一使用 bcrypt验证码等短时效一次性凭证仍按原有 Redis 明文比对链路存储)。校验方式:`GOWORK=off go build ./...` + `GOWORK=off go vet ./...` + `gofmt -l`(仓库根 workspace 模式存在 genproto 拆包的 ambiguous import属本机既有问题
| 编号 | 级别 | 问题 | 处理结果 |
| --- | --- | --- | --- |
| C1 | 高 | 文章/评论 增/删/改 不校验归属(越权) | 已修复:`post` 系列(文章与评论,模型含 `AuthorIdentity`/`OwnerIdentity`)按 `auth.Identity` 限定,非作者/非归属者返回 `ErrPermissionDenied`。**`pages` 系列(`CmsPages` 单页文章)当前模型只有 `types.Std_IICUDS` + 站点/内容字段,没有任何作者或归属列**,在现有表结构下无法判定归属——需要新增归属列才能实施,属**契约/表结构限制**,本轮未擅自改表 |
| C2 | 高 | `AddComment` 未命中 `mall_staff` 时类型断言 panic | 已修复:改为带 `ok` 的安全类型断言并给默认值 |
| C3 | 高 | `Search``page_size` 上限 | 已修复:归一化分页(`page` 下限 1、`page_size` 上限 100 |
| C4 | 高 | 删除父评论导致 `comment_hits` 计数不一致 | 已修复:删除时同步修正计数 |
| C5 | 高 | `Site` 全系列占位空实现却返回成功 | 已修复:改为显式返回 `codes.Unimplemented`,不再假成功 |
| C6 | 高 | 赞/踩无去重且可刷成负数 | 已修复:计数改为条件更新并加下限保护,不再出现负值。**完整去重需要「谁点过」的记录表/字段,属契约外,未做** |
### 未纳入本轮范围
报告中「中」「低」级别的项分页上限、死代码、README 与实现不符、单测缺失、可维护性等)**本轮未处理**;如需继续,按各报告第 8 节「修复建议」的顺序推进即可。
> 本轮整改未修改任何 `proto/*.proto` 与 `pb/*.go`,因此少数需要新增接口字段才能完整实现的项目(已在处理结果中标注)做了安全降级。