Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4b50847c47 | |||
| 9a66b6a9fd |
43
README.md
Normal file
43
README.md
Normal 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.
|
||||
@ -21,9 +21,5 @@
|
||||
"color": "#fff"
|
||||
}
|
||||
},
|
||||
"flarum-locale": {
|
||||
"code": "en",
|
||||
"title": "English"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user