================================================================================
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 互转)
- 粘贴自动转纯文本
- 回车自动换行
================================================================================
文档结束
================================================================================
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 互转)
- 粘贴自动转纯文本
- 回车自动换行
================================================================================
文档结束
================================================================================