docs: 添加 README,说明已知问题及暂停开发原因

This commit is contained in:
2026-05-29 04:45:31 +08:00
parent 33a41503f8
commit 9a66b6a9fd

43
README.md Normal file
View File

@ -0,0 +1,43 @@
# Reapprove On Edit
编辑已通过审核的帖子时,自动退回审核队列。
## 行为
- 非管理员/版主编辑已过审帖子 → `is_approved` 设为 `null`,重新进入审核队列
- 管理员/版主编辑 → 直接通过,无需审核
## 已知问题 & 为什么暂停开发
### 1. 标题不过审,存在绕过漏洞
Flarum 审核机制仅覆盖帖子正文,**标题在编辑后直接对外可见**,无需审核。恶意用户可在标题中放入钓鱼链接、短网址等,完全绕过审核。
### 2. 帖子"空壳"体验糟糕
帖子退回审核后,正文被隐藏,但帖子仍存在于讨论列表中。访客点进去看到的是"等待审核"提示,体验非常反直觉——帖子还在,内容凭空消失了。
### 3. 理想的方案实现成本过高
最理想的体验是:旧内容保持可见,新内容暂存,审核通过后替换。但这需要:
- 自定义 `post_revisions` 表存储修订版本
- 前后端分开渲染旧/新内容
- 管理员审核 UI 和通知系统
- 大量对 Flarum 渲染管线的侵入式修改
经过多次测试,确认该方案与 Flarum 架构耦合过深,维护成本远超收益,已无继续开发意义。
## 建议
> **直接禁止编辑帖子。**
>
> 在 Flarum 权限设置中关闭普通用户的编辑权限,仅保留版主/管理员编辑。用户如需修改,删除旧帖重发即可。少一个功能,少一堆漏洞。
## 状态
**开发暂停。** 当前版本v1.0.0)可用,但存在上述体验和安全问题,不推荐在生产环境长期使用。
## 许可证
MIT License. Copyright (c) 2026 MetaLab.