Daiying CMS让建站更简单,让扩展更自由。

官方动态

安全基线

面向站点管理员整理 Daiying CMS 生产环境安全基线,包括 public 文档根目录、非公开目录保护、上传目录执行限制、HTTPS、安全 Cookie、加密密钥、签名更新和敏感信息保护。

发布于 · 更新于 · 文档

这是一份上线前检查清单

安全基线的目的,是让 Daiying CMS 在生产环境中以正确的目录、权限、密钥和更新策略运行。本文面向站点管理员,不展开内部类名和源码实现,只列出上线前应确认的项目。

Web document root 必须指向 public/

生产站点的 Web 根目录应指向 Daiying CMS 的 public/ 目录。不要把整个项目根目录暴露给 Web 服务器,否则 config、storage、system、scripts、tests、content/plugins、content/themes 等非公开目录可能被直接访问。

非公开目录必须被保护

除了 public/ 中需要对外服务的入口和资源,其他目录都应由 Web 服务器规则或部署结构保护。上线后可以抽查敏感路径,确认浏览器无法直接下载配置、数据库备份、日志或源码文件。

uploads 目录禁止执行 PHP/CGI

上传目录用于保存图片、附件等用户文件,不应允许 PHP、CGI 或其他脚本在上传目录中执行。即使管理员账号可信,也要把上传目录当作不可信输入边界处理。

HTTPS 与安全 Cookie

正式站点应启用 HTTPS,并确保后台登录、支付、AI、更新等敏感页面都走 HTTPS。生产 Cookie 应使用安全配置,避免会话在非加密连接中暴露。

配置唯一 encryption key

站点应使用唯一的 encryption key,不要复用示例密钥、测试密钥或其他站点的密钥。涉及 OAuth、支付、AI Provider、插件密钥等敏感信息时,密钥泄露会扩大影响范围。

只使用通过签名校验的更新

Core 更新应来自官方更新流程,并通过完整性与签名校验。不要在生产站直接套用来源不明的压缩包,也不要跳过校验步骤手工覆盖核心文件。

敏感信息不要进入公开页面和日志

配置文件、数据库导出、OAuth token、支付密钥、AI API Key、更新签名私钥、SSH Key、恢复包和日志都属于敏感信息。公开教程、截图和错误页面不得展示这些内容。

运行生产 readiness 检查

如果有服务器命令行权限,可以在上线前运行生产 readiness 检查,例如 php scripts/validate_production_readiness.php --strict。该检查用于帮助发现环境、权限和配置风险,但不能替代人工安全审查。

上线前最终清单

  • Web 根目录指向 public/。
  • 非公开目录不能被浏览器直接访问。
  • uploads 目录不能执行脚本。
  • HTTPS 正常,后台和敏感页面不走明文。
  • 站点使用唯一 encryption key。
  • 更新包需要签名和完整性校验。
  • 截图、日志、教程和报错页面不泄露 Secret、Token、密码或私钥。
  • 重大更新前已经创建恢复点。

评论

0 条

还没有评论。

游客可以直接评论,也可以 登录 或 注册 后评论。

评论审核通过后会显示。