Files
2026-09-30 11:11:54 +08:00

24 lines
1.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: 安全、审计日志与密钥管理规则;处理认证、权限、上传、Webhook、日志、第三方凭证时使用
globs: backend/app/**/*.php,backend/config/**/*.php,backend/routes/**/*.php
alwaysApply: false
---
# 安全与审计
详见 `docs/12-security-audit.md`。
## 审计
- 库存、订单、入库、出库状态变更及用户权限变更,必须记录:操作人、时间、动作、修改前、修改后、来源 IP、请求 ID。
- 记录登录日志、操作日志、API 日志;请求 ID 贯穿 HTTP → Job → 外部调用。
## 安全
- 查询只用 Eloquent / Query Builder 参数绑定;禁止拼接用户输入到 `DB::raw`。
- 所有接口:Sanctum 认证 + Policy 授权 + 租户隔离 + 必要的 Rate Limit。
- 文件上传校验类型、大小、扩展名,存储于非公开目录,文件名重新生成。
- 第三方 Webhook 必须校验签名与时间戳,防重放。
## 密钥
- Token / Secret **禁止写入 Git**:使用 `.env`,`.env.example` 只放占位。
- 租户级第三方凭证使用 Laravel 加密(`encrypted` cast)存储。
- 日志脱敏:不输出密码、Token、完整手机号 / 地址等敏感信息。