[开发]社区治理(mod_system)插件说明

👑Lv.11 元老 🌞 骨干会员
2026-10-25 01:17:12

本文由 FlintHub 开发文档归档发布。原始文档日期见标题前缀,来源:WWW/plugins/mod_system/说明.md。

社区治理(mod_system)插件说明

版本:1.0.0 | 作者:FlintHub | 状态:⏸️ 停用(默认未启用)

功能:举报中心 + 违规小黑屋封禁 + 通知联动,社区内容治理一体化


一、功能简介

  • 举报中心:对主题 / 回复 / 博客 / 博客评论 / 用户 五类目标发起举报,分类 spam/porn/illegal/attack/flood/fake/other
  • 自动预警:同一内容被举报达 auto_audit_count(默认 3)次,后台自动标红待处理
  • 防滥用频控:每用户每日举报上限 daily_limit(默认 5)+ 同一用户对同一内容举报冷却 cooldown(默认 300 秒)
  • 小黑屋封禁:将违规用户移入封禁用户组(ban_group_id 后台填写,不硬编码),默认封 ban_days 天(0/空=永久);封禁用户登录时拦截(auth_login_check)
  • 通知联动:举报提交 / 处理结果写入核心通知中心(notify_enabled 开关)
  • 后台处理:待处理 / 已处理 / 已驳回 三种状态流转,附处理日志

二、目录结构

plugins/mod_system/
├── plugin.json              # 插件清单(route_register / admin_route_register / route_before_dispatch / auth_login_check / thread_operation_after / post_report_button / blog_detail_operation_after / blog_comment_operation_after / profile_user_card_after / footer_links / nav_drawer_links)
├── Plugin.php               # 配置(modsystem_* 前缀存 settings)+ 建表 + 封禁/举报/通知服务
├── AdminController.php      # 后台举报处理 / 黑名单 / 配置管理
├── FrontController.php      # 前台举报提交
├── hook/
│   ├── route_register.php            # 前台举报路由
│   ├── admin_route_register.php      # 后台路由(/admin/mod-system)
│   ├── route_before_dispatch.php     # 举报提交前置处理
│   ├── auth_login_check.php          # 黑名单用户登录拦截
│   ├── thread_operation_after.php / post_report_button.php / blog_detail_operation_after.php / blog_comment_operation_after.php  # 各内容举报按钮注入
│   ├── profile_user_card_after.php   # 用户信息卡举报入口
│   ├── footer_links.php / nav_drawer_links.php  # 举报/规则入口
├── views/                   # admin_index / blacklist / _reports_panel / _config_panel / _feedback
└── lang/                    # zh.php / en.php / zh_tw.php

三、数据表(插件独立库 plugins/mod_system/data/mod_system.sqlite)

表用途
mod_reports举报记录(target_type / target_id / reporter_id / category / status[pending
mod_bans封禁记录(user_id / ban_group_id / reason / expire_at / operator_id)
mod_logs处理日志(操作人 / 动作 / 目标 / 时间)

  • 建表由 Plugin::db() 进程内自愈触发(幂等 CREATE TABLE IF NOT EXISTS),上传即用,无需手动激活
  • 配置存核心库 settings 表,键前缀 modsystem_
  • 卸载删表会清空举报 / 封禁 / 日志记录,请谨慎

四、路由

方法路径说明
POST/report提交举报(CSRF + 频控)
GET/admin/mod-system后台举报列表 + 处理
GET/admin/mod-system/blacklist黑名单(封禁/解封)
POST/admin/mod-system/config保存治理配置

五、注意事项

  • 封禁/解封用户应走核心 User 组切换能力,勿直接改核心库
  • 举报提交受 RateLimiter 频控保护,防批量刷举报
  • 通知联动依赖核心通知中心,关闭 notify_enabled 后仅停发通知、不取消举报
轻量级、高性能、零 MySQL 依赖的PHP社区系统。
| Views 5 | Replies 0

All Replies (0)

No replies yet

Please Log in