Lume 1.0 论坛系统 — 前台全部功能清单

================================================================================
                    Lume 1.0 论坛系统 — 前台功能清单
================================================================================


本文件详细介绍 Lume 1.0 论坛系统的所有前台功能模块,按功能分类整理。




一、用户系统
================================================================================


1. 注册 (register.php)
   - 注册表单:用户名(字母数字下划线,3-30 字符)、昵称、密码(至少 6 位)
   - 验证码保护(可在后台设置是否开启)
   - 单 IP 每日注册次数限制(默认 5 次,后台可配置)
   - 注册成功自动登录并跳转首页


2. 登录 (login.php)
   - 用户名 + 密码登录
   - 登录爆破防护:同一 IP 在指定时间内失败次数过多,自动封禁该 IP
   - 登录成功自动重新生成 session ID(防 session 固定攻击)
   - 可设置会话超时(后台安全设置中配置,超时无操作需重新登录)


3. 退出 (logout.php)
   - 清除登录状态,重新生成 session ID,跳转首页


4. 个人资料 (profile.php)
   - 修改昵称、个性签名、性别
   - 上传头像(支持 jpg/jpeg/png/gif/webp,限 2MB)
   - 修改密码(需输入两次确认)
   - 消息语音提示开关


5. 用户主页 (user.php)
   - 三栏 Tab 切换:资料、主题列表、回帖列表
   - 资料:头像、昵称、UID、性别、签名、注册时间、最后活跃、发帖数、回帖数、金币
   - 主题列表:该用户发布的所有帖子(分页,每页 20 条)
   - 回帖列表:该用户的所有回帖(分页,每页 20 条)




二、帖子系统
================================================================================


6. 首页帖子列表 (index.php)
   - 展示最新帖子(置顶优先,按更新时间降序)
   - 三种筛选:最新帖子 / 按发帖时间 / 精华帖
   - 每条帖子显示:标签(置顶/精华/分类/图/热门🔥)、版块、作者、时间、浏览数、回复数
   - 侧边栏显示所有版块及主题数/回复数统计


7. 版块帖子列表 (forum.php)
   - 按版块 ID 查看该版块所有帖子
   - 三种筛选:全部 / 新帖 / 精帖
   - 支持主题分类筛选
   - 帖子列表含标题、标签、作者、时间、回复数、浏览数


8. 帖子详情 (thread.php)
   - 完整帖子内容展示,支持内容分页
   - 附件展示:图片附件生成缩略图,支持灯箱点击放大;非图片附件显示文件名、大小、下载次数
   - 回复楼层展示,每条回复显示头像、昵称、楼主标记、楼层号、签名、附件
   - 楼中楼回复弹窗:点击"回复"按钮,弹出编辑框(含引用块、表情面板、附件上传)
   - 底部内嵌回帖表单(登录可见),含可视化编辑器
   - 编辑器工具栏:字体、字号、加粗、超链接、远程图片、表情


9. 发帖 (post.php)
   - 选择版块 → 动态加载主题分类(JS 联动)
   - 标题(限 100 字符)
   - 可视化编辑器(字体、字号、加粗、超链接、远程图片、表情面板)
   - 图片/附件即时上传(AJAX 上传,无需刷新)
   - 发帖间隔限制、IP 封禁检查、禁言检查、验证码保护
   - 发帖后自动处理 @ 提及通知


10. 回帖 (reply.php)
    - 纯后端处理,提交后跳转回帖子并锚点定位到新回复
    - 支持引用回帖(楼中楼回复)
    - 内容长度限制、禁言检查、验证码保护
    - 自动通知楼主(新回复通知)和被回复楼层作者(楼中楼通知)
    - 自动处理 @ 提及通知


11. 编辑帖子 (edit_thread.php)
    - 编辑标题(限 100 字符)、主题分类、内容
    - 支持追加新附件上传
    - 管理员始终可编辑;普通用户需后台开启"允许编辑帖子"且为作者




三、搜索
================================================================================


12. 搜索 (search.php)
    - 关键词搜索帖子标题和内容(LIKE 模糊匹配)
    - 结果最多 50 条,按更新时间降序
    - 每条结果显示标题、图标记、热门标记、作者、时间、回复数




四、附件系统
================================================================================


13. 附件下载 (download.php)
    - 图片:浏览器内联显示(正确的 MIME 类型)
    - 非图片文件(zip/rar):强制下载(Content-Disposition: attachment)
    - 游客下载压缩包限制:需登录
    - 下载计数器、路径安全检查(防目录穿越)


14. 删除附件 (delete_attachment.php)
    - 仅 POST 请求,CSRF 防护
    - 权限检查(附件所有者或管理员)
    - 删除服务器文件 + 清理内容引用 + 删除数据库记录




五、消息通知
================================================================================


15. 消息通知 (notifications.php)
    - 展示最近 50 条通知(含消息内容和时间)
    - 进入页面自动标记所有通知为已读
    - "忽略全部提示消息"按钮
    - 语音提示开关(Web Speech API 语音播报"你有新的消息提醒")
    - 每条通知可点击跳转到对应帖子的回复区


   通知类型:
   - 新回帖通知(楼主收到)
   - 楼中楼回复通知(被回复楼层作者收到)
   - @ 提及通知(被 @ 的用户收到)




六、互动功能
================================================================================


16. 签到 (signin.php)
    - 每日签到,获得金币奖励
    - 签到成功弹窗展示奖励信息和排行榜 mini 版
    - 已签到用户显示"已签到"状态


17. 排行榜 (rankings.php)
    - 签到总天数排行榜(按签到天数降序)
    - 金币排行榜(按金币数降序)
    - 无登录要求,游客可查看




七、社区功能
================================================================================


18. @ 提及功能
    - 发帖/回帖时输入 @用户名,被提及用户收到通知
    - @用户名 在页面上渲染为蓝色可点击链接,跳转到用户主页


19. 表情面板
    - 发帖/回帖/楼中楼回复编辑器工具栏均有笑脸按钮
    - 弹出表情面板,分 4 个分类:默认、手势、爱心、符号
    - 每页 30 个表情,支持翻页
    - 点击表情插入光标位置


20. 热门帖子标记
    - 后台可设置回复数阈值(如 10 楼),帖子回复数达标后标题显示 🔥 图标
    - 🔥 图标始终在"图"标记之后,即最后一个图标位置


21. 帖子标签系统
    - 置顶帖显示 [置顶] 标签
    - 精华帖显示 [精华] 标签
    - 含图片附件的帖子显示 [图] 标签
    - 热门帖子显示 🔥 标签
    - 主题分类标签(如 [求助] [分享] 等)


22. 版主功能
    - 版主可删除所属版块的帖子(有每日限额,不可删管理员帖)
    - 操作日志记录


23. 管理员功能(前台可见)
    - 查看发帖 IP
    - 编辑帖子(标题、分类、内容)
    - 移动帖子到其他版块
    - 本版置顶 / 全站置顶 / 取消置顶
    - 加精 / 取消加精
    - 删除帖子
    - 帖子楼层置顶/取消置顶




八、导航与界面
================================================================================


24. 全局导航栏 (header.php)
    - 站点品牌名称(链接到首页)
    - 主导航链接:首页、搜索 + 自定义导航项
    - 已登录用户:签到按钮、消息通知(铃铛图标 + 未读数)、头像和昵称、后台入口(管理员)、退出
    - 游客:登录、注册链接
    - 通知语音播报功能
    - 签到成功弹窗(含排行榜 mini 版)


25. 全局页脚 (footer.php)
    - 友情链接(首页显示)
    - 底部导航链接
    - ICP 备案号
    - 版权信息
    - 第三方统计代码注入
    - 图片灯箱(点击放大,支持 ESC 关闭)
    - 回到顶部 / 去到底部按钮(页面滚动超过 200px 时显示,蓝色圆形按钮)


26. 主题支持
    - 支持亮色/暗色主题切换
    - 后台可自定义字体大小(品牌名、导航、帖子标题、内容、回复、底部导航)




九、安全机制(前台体验层面)
================================================================================


27. 验证码
    - 注册、发帖、回帖场景可配置是否开启验证码
    - SVG 图形验证码(含干扰线、噪点、随机旋转),5 位数字
    - 蜜罐(honeypot)防机器人
    - 提交时间校验(至少 2 秒)


28. 速率限制
    - 发帖间隔限制
    - 单 IP 每日注册次数限制
    - 发帖/回帖每日免验证码次数


29. 登录爆破防护
    - 同一 IP 登录失败次数过多自动封禁
    - 后台可配置失败次数、时间窗口、封禁时长


30. 防 CC 攻击
    - 时间窗口内访问次数统计,超阈值自动封禁 IP
    - 后台可配置开关、时间窗口、阈值、封禁时长


31. 禁言
    - 管理员可封禁用户 N 天,期间无法发帖/回帖


32. 其他安全
    - CSP(Content-Security-Policy)安全头
    - X-Frame-Options: SAMEORIGIN(防点击劫持)
    - X-Content-Type-Options: nosniff(防 MIME 嗅探)
    - Referrer-Policy(限制 Referer 泄露)
    - CSRF 防护(所有表单自动注入 CSRF token)
    - 文件上传白名单 + MIME 验证 + 目录 PHP 禁执行
    - 附件下载路径穿越检查




十、可视化编辑器功能
================================================================================


33. 编辑器工具栏
    - 字体选择
    - 字号选择
    - 加粗
    - 超链接
    - 远程图片插入
    - 表情面板(4 分类,分页浏览)
    - 图片即时上传(AJAX)
    - 附件即时上传(AJAX)
    - 所见即所得编辑(BBCode 与 HTML 互转)
    - 粘贴自动转纯文本
    - 回车自动换行


================================================================================
                          文档结束
================================================================================

回复 0

倒序
登录后回复