SanbbbCMS V1.1.10 是一次纯安全更新,没有功能变更,建议所有已上线站点尽快升级。
一、安装向导可被绕过重装(高危)
安装完成后面会生成 public/install/install.lock 锁文件,本意是防止被人重装。但安装程序里留了一个「强制重装」的开关:只要提交一个带 force=1 的表单,锁文件就被忽略,直接进入安装流程。
这意味着任何能访问到 /install/ 的人,都可以把数据库覆盖掉、把管理员密码重设成自己的,等于整站易主。此前只靠 Nginx 的 deny all 挡着,一旦换服务器、换面板、或者配置漏了一条,门就开着。
现在改为:只要锁文件存在,无论任何请求参数一律跳回前台,安装流程根本不会执行。确实需要重装时,手动删除 install/install.lock 后刷新页面即可 —— 这个动作只有拿到服务器权限的人才做得到,才是应有的门槛。
二、数据库备份文件可被直接下载(高危)
后台的「数据库备份」此前把整库 SQL 写到 public/backup/ 下,也就是放在了网站根目录里。备份文件里是全部表结构和数据,包括管理员账号密码哈希、全部客户留言、订单与文章内容,只要猜到文件名就能直接下载,不需要登录。
现在备份改写到 runtime/backup/,位于 Web 根目录之外,无法通过 URL 访问。后台里原有的历史备份仍然可以查看、下载、删除,会标注「旧目录·建议清理」,确认没用之后在后台删掉即可。
三、升级后建议自查
- 确认
public/install/install.lock存在。本版本已为缺锁的站点补上,但如果你换过服务器或手工拷过目录,值得再看一眼。 - 如果站点已经上线、短期没有再装的打算,可以删掉
public/install/下除install.lock之外的文件,把安装向导彻底关闭。 - 后台进「数据库」页,看有没有标注「旧目录·建议清理」的备份文件,确认不需要就删掉。
升级方式:后台「系统管理 → 系统升级」一键升级。