官方动态
安全基线
面向站点管理员整理 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 条还没有评论。