docs(zh-CN): update

This commit is contained in:
neo
2026-03-13 17:45:44 +08:00
parent f548ca3e19
commit 4c0107a322
88 changed files with 16872 additions and 280 deletions

View File

@@ -0,0 +1,34 @@
---
paths:
- "**/*.php"
- "**/composer.lock"
- "**/composer.json"
---
# PHP 安全
> 本文档在 [common/security.md](../common/security.md) 的基础上,补充了 PHP 相关的内容。
## 输入与输出
* 在框架边界验证请求输入(`FormRequest`、Symfony Validator 或显式 DTO 验证)。
* 默认在模板中转义输出;将原始 HTML 渲染视为需要合理解释的例外情况。
* 未经验证切勿信任查询参数、Cookie、请求头或上传文件的元数据。
## 数据库安全
* 对所有动态查询使用预处理语句(`PDO`、Doctrine、Eloquent 查询构建器)。
* 避免在控制器/视图中拼接 SQL 字符串。
* 谨慎限定 ORM 批量赋值范围,并明确列出可写入字段的白名单。
## 密钥与依赖项
* 从环境变量或密钥管理器中加载密钥,切勿从已提交的配置文件中读取。
* 在 CI 中运行 `composer audit`,并在添加依赖项前审查新包维护者的可信度。
* 审慎锁定主版本号,并及时移除已废弃的包。
## 认证与会话安全
* 使用 `password_hash()` / `password_verify()` 存储密码。
* 在身份验证和权限变更后重新生成会话标识符。
* 对状态变更的 Web 请求强制实施 CSRF 保护。