Files
flarum-ext-reapprove-on-edit/README.md

44 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.