安全默认设计

2026-10-04 阅读 686 安全

多数 CMS 的安全事故来自同一处:把用户输入拼进 SQL 与模板。NaichaCMS 的做法是从结构上堵死。

四条设计约束

  • 模板层没有 SQL 能力——编译器只认识标签,标签只调用数据层,数据层只用占位符绑定。模板作者想注入也没有语法可用。
  • 输出默认转义——除显式声明 html="1"。
  • 上传白名单 + 真实图片校验 + 随机文件名——改扩展名的脚本传不上来。
  • 登录失败限流、全表单 CSRF、生产环境不外泄堆栈。

此外,<script> 与 <style> 内的花括号不会被引擎当成变量解析,避免模板里的 JS/CSS 被误伤。

返回列表
相关阅读

同类内容

伪静态与干净 URL

默认输出 /list/features 这样的干净地址,不带 index.php。

审核流与栏目权限

多人协作时,谁能发、谁能审、谁只能看自己栏目的内容。

内容模型与自定义字段

栏目、内容、自定义字段,按业务需要长。

安全默认设计

模板层不提供 SQL 能力,参数化查询是唯一取数路径。