This commit is contained in:
tamakyi
2026-10-19 02:25:19 +08:00
parent 4592b6ef24
commit 12a37e726f
14 changed files with 315 additions and 5 deletions
+32 -3
View File
@@ -151,8 +151,33 @@ pg_dump -Fc <dbname> > before-$(date +%F-%H%M).dump
| `--domain` / `--email` | 二选一;都填时按 email 查 |
| `--level` | `L1` / `L2` / `L3` / `L4`,默认 L1,大小写敏感 |
| `--days` | 生效天数,从当前时间起算,必须 > 0 |
| `--reason` | **必填**,写入审计记录 |
| `--reason` | **必填**,写入审计记录(**不会展示给用户**,只用于内部留痕) |
| `--yes` | 跳过 `YES` 确认 |
| `--force` | `--days` 超过 90 天时**必须**加,否则直接拒绝执行 |
| `--no-notify` | 不给箱主发处置通知邮件(默认发) |
### 异常时长与二次确认
`--days` 不设硬上限(长期封禁是真实需求),但超过 **90 天**时:
- 不加 `--force` → 直接报错退出(多打一个 0 不会被执行)
- 交互模式下还要**再输入一次级别名**(如 `L3`)才继续
- 脚本里 `--force --yes` 两个显式开关即构成两次确认
### 处置通知
处置生效后会自动给箱主发一封邮件(按箱主自己的界面语言,四语言齐全),内容只有:
- 级别与级别名称(如 L3 冻结发布)
- 到期时间
- 社区规则链接
- 申诉渠道(页脚「找站长」)
**邮件里不包含 `--reason` 原文,也不引用被举报内容** —— 沿用公告模板的口径:只写级别、期限、依据。
需要「静默止血」(不惊动对方、避免其转移阵地)时加 `--no-notify`。
邮件发送失败**不会回滚处置**:只打一条 warn 并在终端提示,处置仍然生效。
### 级别语义
@@ -178,7 +203,8 @@ pg_dump -Fc <dbname> > before-$(date +%F-%H%M).dump
- **L1 就强制 strict**:L1 只停分发、内容仍能发布,但审核已按最严处理,
正常的吐槽式提问也可能被拦。若线上发现大面积误拒,把 `moderation.EffectiveStrictness`
改成「L1 沿用原设置」即可(一行)。
- **没有任何邮件通知箱主**。当前只有登录后的条幅,纯邮件用户不会知道。
- **处置会给箱主发通知邮件**(见上)。若用 `--no-notify` 跳过,箱主只剩登录后的橙色条幅。
- 邮件发送依赖 `[mail]` 段的 SMTP 配置;未配置时处置仍会生效,但终端会提示发送失败。
---
@@ -251,7 +277,8 @@ pg_dump -Fc <dbname> > before-$(date +%F-%H%M).dump
1. **发现**:收到告警邮件(同一箱主 24h ≥ 8 条 或 7d ≥ 20 条)→ 或箱主后台出现「被举报 N 次」。
2. **取证**:`reports --domain <domain>` 看条目、占比、历史处置。
3. **冷静期**:举报后 24 小时内不作判定(避免被集中举报推着走,也避免情绪化处置)。
4. **止血**:`restrict --level L1 --days 7 --reason "..."`(静默生效,不单独通知)。
4. **止血**:`restrict --level L1 --days 7 --reason "..."`。默认会通知箱主;
若判断通知会导致其转移阵地、需要先静默收口,加 `--no-notify`。
5. **清存量**:`hide-public --domain <domain> --only-reported`。
6. **观察**:7 天内复发 → 升 L2/L3;双方互挂 → **两边同级别处理,不选边**。
7. **收尾**:到期自动解除;需要提前解封用 `unrestrict`。
@@ -278,6 +305,8 @@ pg_dump -Fc <dbname> > before-$(date +%F-%H%M).dump
| 告警邮件一直没收到 | `[security] security_alert_email` 为空(静默跳过,无日志) | 配好并**重启** |
| 举报数始终是 1 | `trust_proxy` 未按部署环境配置,全部识别为代理 IP | 见 §2.4 |
| 箱主说「我改了但没生效」 | 处置期内严格度被锁定 / L2 禁止设为公开 | 看后台条幅;`reports` 查当前处置 |
| `--days 超过 90 天` 被拒绝 | 防手误设计,需要 `--force` | 确认时长后重试,或改用常规天数 |
| 处置成功但箱主说没收到邮件 | SMTP 未配 / 发送失败 / 用了 `--no-notify` | 看终端 warn;`[mail]` 配好后可 `restrict` 重发(同级别重设会替换记录) |
改完配置**必须重启**才生效(配置只在启动时读取一次)。