# 安全规约

> 来源: Java开发手册（嵩山版）— 四、安全规约

## 【强制】规则

### 1. 权限控制

用户个人页面或功能必须进行权限控制校验，防止水平权限越权。

### 2. 敏感数据脱敏

> **正例**: 手机号码 `139****1219`，隐藏中间 4 位。

### 3. SQL 参数绑定

严格使用参数绑定或 METADATA 字段值限定，禁止字符串拼接 SQL。

### 4. 参数有效性验证

忽略参数校验可能导致:

- page size 过大导致内存溢出
- 恶意 order by 导致慢查询
- 缓存击穿
- SSRF
- 任意重定向
- SQL 注入、Shell 注入、反序列化注入
- 正则 ReDoS（拒绝服务）

### 5. XSS 防护

禁止向 HTML 页面输出未经安全过滤或未正确转义的用户数据。

### 6. CSRF 防护

表单、AJAX 提交必须执行 CSRF 安全验证。

### 7. URL 重定向白名单

外部重定向传入的目标地址必须执行白名单过滤。

### 8. 防重放机制

短信、邮件、电话、下单、支付等平台资源，必须实现防重放（数量限制、疲劳度控制、验证码校验）。

## 【推荐】规则

### 9. 用户生成内容风控

发贴、评论、即时消息等场景必须实现防刷、违禁词过滤。
