Repository navigation
v2.4.2
安全加固 + 部署修复版本
针对 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)