From 9a66b6a9fd49e6d08a9a87e561dfd32a8e9bbd4f Mon Sep 17 00:00:00 2001 From: Victor Jay Date: Fri, 29 May 2026 04:45:31 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=B7=BB=E5=8A=A0=20README=EF=BC=8C?= =?UTF-8?q?=E8=AF=B4=E6=98=8E=E5=B7=B2=E7=9F=A5=E9=97=AE=E9=A2=98=E5=8F=8A?= =?UTF-8?q?=E6=9A=82=E5=81=9C=E5=BC=80=E5=8F=91=E5=8E=9F=E5=9B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..0d0b9ce --- /dev/null +++ b/README.md @@ -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.