XIUNO BBS X版 更新记录贴 20260703

在线升级功能完善

  • 在线升级页面:点击「立即升级」时新增前置检查(preflight)步骤,未通过则阻断升级并展示问题清单,避免环境不达标导致升级失败 [状态不同步]

  • 后台仪表盘页面:新增新版本自动检查提醒功能,管理员登录后异步调用 check 接口,发现新版本时在仪表盘顶部显示蓝色提醒横幅,含版本号、更新日志摘要、「前往升级」按钮 [配置不同步]

  • 仪表盘版本检查结果用 localStorage 缓存 24 小时,避免每次进仪表盘都请求 Gitee API;无新版本时不显示横幅,检查失败时静默处理不打扰站长

  • 同步 zh-cn/zh-tw/en-us 三种语言包,新增 7 条语言条目(前置检查、仪表盘提醒相关)[语言包不同步]

安全修复

  • 新增 tmp/.htaccess 和 log/.htaccess 保护文件(Deny from all),Apache 自动生效

  • OnlineUpgradeService::preflight() 前置检查自动检测并创建缺失的 .htaccess 文件

  • OnlineUpgradeService::cleanup() 清理时保留 .htaccess 文件不删除

  • 文档补充 Nginx 用户必须手动配置 location ^~ /tmp/ { deny all; }location ^~ /log/ { deny all; } 的说明

  • 升级备份目录名从 upgrade_backup_{YmdHis}/ 改为 upgrade_backup_{YmdHis}_{6位随机}/,防止时间戳目录名被爆破猜中(OnlineUpgradeService + UpgradeService 两处同步修改)[信息泄露]

今日更新后需要测试的地方

  • [必测] 在线升级页面:点击「立即升级」,确认会先弹出前置检查(环境检测通过则继续,不通过则红色告警框阻断)

  • [必测] 在线升级页面:人为破坏环境(如 chmod 555 tmp/)后点「立即升级」,确认会被前置检查拦截

  • [必测] 后台仪表盘:登录后台首页,确认异步加载版本检查(F12 Network 看到 online_upgrade-check 请求)

  • [必测] 后台仪表盘:若 Gitee 上有比当前版本更新的 Release,确认顶部显示蓝色提醒横幅

  • [必测] 后台仪表盘:横幅「前往升级」按钮点击后跳转到 online_upgrade 页面

  • [必测] 安全验证:访问 https://yoursite.com/tmp/ 应返回 403 Forbidden(Apache)

  • [必测] 安全验证:访问 https://yoursite.com/log/ 应返回 403 Forbidden(Apache)

  • [必测] 安全验证:确认 tmp/.htaccess 和 log/.htaccess 文件存在

  • [回归] 在线升级页面:检查更新、重装当前版本、回滚功能不受影响

  • [回归] 后台仪表盘:原有统计卡片、图表、安全统计不受新增 JS 影响

  • [回归] 三种语言包切换:zh-cn/zh-tw/en-us 后台界面文案正常显示

  • [回归] 升级清理步骤:cleanup() 不会删除 tmp/.htaccess 文件

  • [必测] 备份目录名格式:升级后检查 tmp/ 下备份目录是否含 6 位随机后缀(如 upgrade_backup_20260703221500_a3f9b2)

  • [必测] 回滚功能:备份目录名含随机串后,rollback() 仍能通过 glob('upgrade_backup_*') 正常找到最新备份

最新回复
  • Laity 内测用户2级用户连续签到7天 Lv2
    还是显示要更新1.0.5,我开始以为是bug,我重装了还是显示🤔
    8天前

请先登录后再回复 登录

uid:1 管理
关注
随遇而安,随缘而行
发帖 71
评论 319
粉丝 11
关注 1
发新帖
目录
XIUNO BBS X版 更新记录贴 20260703