Skip to content

v2.4.2

Choose a tag to compare

@pollybird pollybird released this 06 Sep 12:54
· 38 commits to main since this release

安全加固 + 部署修复版本

针对 v2.4.1 安全复检报告的遗留建议进行纵深防御加固,并修复 Docker 部署链路中的多项问题。无功能变更、无数据库结构变更,覆盖代码即可升级。

安全加固

  • CSRF 纵深防御(Origin/Referer 同源校验):所有 Cookie 鉴权的状态变更请求必须携带与本站一致的 Origin/Referer 头,跨站来源直接 403;REST API 与非浏览器客户端豁免。
  • 纯文本字段移除 |safe:6 套主题及表单/招聘插件的 19 处纯文本字段改为自动转义,封堵存储型 XSS。

部署修复

  • Docker worker 启动失败:requirements.txt 新增 cryptography(PyMySQL 连 MySQL 8+ 必需);entrypoint.sh 以 root 修正挂载目录属主后经 gosu 降权,并增加数据库就绪等待。
  • CSP 拦截 CDN 静态资源:AdminLTE、FontAwesome、jQuery、Bootstrap、icheck-bootstrap 全部本地化到 app/static/vendor/,CSP 保持严格 'self'。
  • 初始化向导填 localhost 连库失败:检测到 ZHYCMS_DB_URI 环境变量时隐藏数据库配置区,直接使用已连通的引擎。
  • 自定义数据库密码不生效:install.sh 检测已有数据卷时提供「沿用旧密码 / 清空重建」选择,启动后校验凭据。

新增

  • Docker 一键安装/卸载脚本:交互式配置 + 自动构建启动;compose 改用 YAML 锚点兼容 v2,支持自定义端口。

升级说明

  • v2.4.0/v2.4.1 站点:覆盖代码即可,无需数据库迁移
  • Docker 部署:git pull 后重新 bash docker/install.sh(或 docker compose up -d --build)