置顶 精华 [程序发布] FlintHub1.0.23全量安装包发布。

👑Lv.11 元老 🌏 正式会员
2026-09-20 12:46:20

说明


原则上来说,将这个全量安装包的文件覆盖一下已经安装的网站即可,这次搞的比较大,不想做增量覆盖包了,覆盖全量文件对插件没有影响,有一些插件我更新了一下,也放在包里了。


因为这是个个人开发的项目,可能没有那么多的精力来解决问题,希望你们可以自行用大模型来解决,我们这个程序架构很清晰,大模型很容易看懂的。


FlintHub 升级说明

版本号取自各包内 version.php。

总览

版本 升级内容(一句话) 文件数
—(无 version.php) 发行基线文件(插件清单 + 插件助手 + 安装脚本 + Nginx 配置),无代码变更 20
V1.0.2 统计刷新改增量;reply_index 补 status 索引 9
V1.0.3 PHP 8.4 / 8.5 兼容性修复(弃用告警刷屏) 9
V1.0.10 可视化编辑器功能增强与缺陷修复 8
V1.0.12 友情链接侧栏优化;新增侧栏钩子与插件排序;修「禁用插件仍显示空面板」 16
V1.0.13 修代码块(<pre>)**「深底深字」**不可读 3
V1.0.18 页面数据查询次数优化(请求级缓存复用 + 同 id 去重) 12
V1.0.20 安全止血 + 机制修复 + 契约断裂专项 + 批量硬化(四批,规模最大) 97
V1.0.22 附件体系改造 + 列表与正文图展示改造 + 回收站只读预览 50
V1.0.23 后台回收站支持管理员只读预览已删帖(内容与 22 的 C 线相同,见附注) 9

各版本升级内容

1.0.0-1.0.1 — 发行基线

不含 version.php 与改动说明;包内 20 个文件(app/Helpers/Plugin.php、install.php、 nginx-baota.conf、17 个 plugins/*/plugin.json)与 flinthub1.0.0.zip 逐字节一致。 → 视为 V1.0.0 的发行基线,本身不构成一次升级。

V1.0.2 · 统计改增量 + 索引补丁

  • 新增帖/回帖的统计由「每次重建」改为增量累加(runtimeIncr),并惰性注册落库。
  • reply_index 补 status 索引,存量库走自动补丁。
  • cli/worker.php 与 cron_trigger.php 的 stats 合并节流 + 每日计数器校准兜底。
  • 部署注意:queue_mode 保持 cron,勿改 sync。

V1.0.3 · PHP 8.4 / 8.5 兼容

  • 消除「每请求级」弃用告警刷屏,处理 8.5 新增弃用项。
  • 新增 app/Core/SessionHandler.php;删除已废弃的 curl_close() / imagedestroy() / finfo_close() 调用。
  • 共 7 个文件(1 新增 + 6 修改)、11 个位置,均为「删一个调用」或「补一个字符」级,无逻辑重构。
  • 已在 PHP 8.4.25 / 8.5.10 实测。

V1.0.10 · 编辑器增强与修复

  • 快捷键、代码块与复制按钮、删除线双向互通、i18n 英文回退。
  • 修复复制按钮泄漏。
  • 改 assets/js/editor.js + assets/css/editor.css,含 sw.js。

V1.0.12 · 友链侧栏 + 插件排序

  • 友情链接侧栏:申请友链图标 / 配色 / 留白调整。
  • 新增通用侧栏钩子 sidebar_above_friend_links(PC 与移动端)。
  • 插件新增全局排序权重 sort_order(含后台在线编辑)。
  • 修复「禁用友链插件后前台仍显示空面板」。

V1.0.13 · 代码块「深底深字」修复

  • 从网页粘贴的正文若带内联 color,落在 <pre> 代码块内会出现深底深字、几乎不可读。
  • 新增 inCodeBlock() 判定,代码块内剥离 color / background-color。
  • 仅改 app/Helpers/Content.php,不改动任何已存帖子内容。

V1.0.18 · 页面数据查询次数优化

  • 收敛「同一请求内对 users / settings / notifications / messages / level_config 的重复查询」。
  • 新增请求级缓存 app/Helpers/UserPrefs.php;Thread::decorate() 按 uid/cid 去重; Points::getLevelConfig() 改一次性载入整表。
  • 共 10 个代码文件 + version.php,不改动任何业务数据。

V1.0.20 · 四批集中修复(规模最大)

  • A 批 · 安全止血(8 项):存储型 XSS(S-1)、分页反射型 XSS、附件上传越权、后台封禁无效、 $_GET 数组参数 500、APCu 日志刷屏、密钥治理(代码侧)、幽灵路由。
  • B 批 · 机制修复(7 组):计数器漂移三因同修、跨库写路径原子性、外置正文存储锁与缓存、 后台审计补全、插件设置写入权限下沉、RateLimiter 原子化,以及 Model 列白名单 / 权限默认拒绝 / 改密吊销记住登录 / 投票条件写 / 归档守卫 / 回帖事务瘦身 / CSRF 时效 / display_errors 等。
  • C 批 · 契约断裂专项(9 项 + 全项目扫描):权限矩阵回跳丢版块、插件分类静默丢弃、 自动扩容阈值被改写、博客封面无法移除、搜索用户标签空白、搜索高亮双重转义、 分页丢筛选参数、私信收发件人恒为空、重置密码页误收起表单。
  • D 批 · 批量硬化(D1~D9,进行中):模板引擎表达式校验绕过、<script>/CSS 上下文口径、 BASE_PATH 家族收敛、不可逆操作确认下沉服务端、内容长度服务端统一校验、 LIKE ESCAPE 与搜索漏检、通知聚合计数、归档桶只读化与归档竞态、 模型层静态缓存加 500 条上限(并修 array_shift 键重置缺陷)、 GET 即写操作改 POST + CSRF(布局切换 / 通知已读 / 重建统计)、 use_strict_mode 真正生效、sw.js 缓存名改由站点版本号派生。
  • 表结构变更走 ensureColumnPatches 自动补齐(notifications.agg_count、tags.name 唯一索引),无迁移脚本。
  • 本包不含 config.php,需按说明手工合并新增段落。

V1.0.22 · 附件体系 + 展示改造 + 回收站预览

  • A 线 · 附件体系改造:上传/读取统一收敛层(Upload 单一 API);全类型按月分目录 YYYY-MM/; 缩略图双档(thumb_ 400×300 / md_ 800×600);附件卡公共组件;灯箱重写;非图片附件下载计数。
  • B 线 · 列表与正文图展示:列表摘要图改读缩略图;摘要图网格规范化(每行 3 个); 正文图渲染期分组;修灯箱右上角关闭按钮点击无反应。
  • C 线 · 回收站只读预览:管理员可从前台只读查看已删除帖子,页面下线一切写入口; 彻底删除动作补写审计日志。
  • 表结构变更:attachments 增 download_count 列,走 ensureColumnPatches 自动补列。
  • 部署:覆盖 48 个代码文件 + version.php,另需上传 9 个 md_ 缩略图;不含 sw.js、不含 config.php。

V1.0.23 · 回收站只读预览(独立成包)

  • 后台回收站可直接查看已删帖:此前点标题必然落到 /?msg=not_found,必须「恢复」后才能看内容。
  • 前台详情页加管理员只读预览分支(/thread/{id}?preview_deleted=1), 管理员不恢复也能看到主帖 + 全部回复 + 附件,页面内不出现任何写入口。
  • 覆盖 7 个代码文件 + version.php;不改表、不加列、不加索引、不含数据脚本。
  • 既有行为一字未改:参数缺失或当前用户非管理员时,仍走原路径。

附注

通用部署要点:覆盖代码后到后台走一次「维护 → 清理缓存」; data/ 与 assets/uploads/ 绝不覆盖;config.php 各站不同,不随包分发。

最后由 flinthub 于 2026-09-20 13:06 编辑
轻量级、高性能、零 MySQL 依赖的PHP社区系统。
| 浏览 0 次 | 回复 29 次

全部回复 (21)

🌳Lv.4 中级 ⭐️ 新访客
2026-09-20 15:07:29
全量覆盖包省事,但“对插件无影响”得先小规模验证:拉个干净环境跑一遍 1.0.20→1.0.23 的覆盖,比对插件目录哈希,别等线上炸了才回滚。至于“用大模型自行解决”——架构清晰是真的,但跨十几个版本不给 diff,模型再强也只能猜,幻觉成本可比增量包高多了,嗯嗯。
#17 楼
🌳Lv.4 中级 ⭐️ 新访客
2026-09-20 16:20:05
先看version.php——那20个文件没版本号,喂给大模型时容易被当成&quot;新版本&quot;token混进去,版本识别直接糊。&amp;lt;pre&amp;gt;这类HTML实体进LLM
#18 楼
👑Lv.9 超级 🌏 正式会员
2026-09-20 17:04:03
1.退出登录的时候出现了“403 - CSRF 验证失败”错误;2.编辑器中如果粘贴一段内容进来后,光标会跑不见了,必须要重新点一下才能继续打字
知识,奉行,知行合一
#19 楼
🌟Lv.6 资深 🌛 见习会员
2026-09-20 17:08:34
  • 快捷键、代码块与复制按钮、删除线双向互通、i18n 英文回退。

  • 快捷键、代码块与复制按钮、删除线双向互通、i18n 英文回退。
这代码块也不对啊
#20 楼
👑Lv.11 元老 🌏 正式会员
2026-09-21 15:15:05
ahfanxin 发表于:1.退出登录的时候出现了“403 - CSRF 验证失败”错误;2.编辑器中如果粘贴一段内容进来后,光标会跑不见了,必须要重新点一下才能继续打字


wuliannan6066 发表于:快捷键、代码块与复制按钮、删除线双向互通、i18n 英文回退。 快捷键、代码块与复制按钮、删除线双向互通、i18n 英文回退。这代码块也不对啊

已经修复,请到:https://www.flinthub.top/thread/102
下载更新程序。

轻量级、高性能、零 MySQL 依赖的PHP社区系统。
#21 楼

请 登录