安全规范
认证授权
用户认证
- 使用 JWT(JSON Web Token)进行身份认证
- Token 有效期设置合理(如 24 小时)
- 支持 Token 刷新机制
权限控制
- 使用 RBAC(基于角色的访问控制)
- 细粒度的权限划分
- 最小权限原则
密码管理
- 密码使用 BCrypt 或 Argon2 加密存储
- 密码强度要求:至少 8 位,包含大小写字母和数字
- 定期强制密码更换
数据安全
数据加密
- 敏感数据传输使用 HTTPS
- 数据库敏感字段加密存储
- API 接口传输数据加密
数据脱敏
- 手机号脱敏:138****8888
- 身份证脱敏:110101********1234
- 邮箱脱敏:j***n@example.com
SQL 注入防护
- 使用参数化查询
- 避免拼接 SQL
- 使用 ORM 框架
输入验证
参数校验
- 服务端必须进行参数校验
- 使用白名单验证输入格式
- 限制输入长度
XSS 防护
- 对用户输入进行 HTML 转义
- 使用内容安全策略(CSP)
- 过滤危险标签和脚本
文件上传安全
- 限制上传文件大小
- 验证文件类型(白名单)
- 文件存储路径随机化
- 禁止执行上传的文件
日志安全
- 日志中不记录密码、Token 等敏感信息
- 日志文件权限控制
- 定期清理日志文件
安全审计
- 记录关键操作日志
- 定期安全扫描
- 渗透测试
最佳实践
- 定期更新依赖包,修复安全漏洞
- 使用安全编码标准
- 定期进行安全培训
- 制定安全事件响应流程