docs: 修正部署说明和防暴力破解策略
- 部署说明移除错误的OSS_STS_ROLE_ARN,短信使用直接AccessKey - 防暴力破解策略补充独立Key的TTL说明 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
ef46ec832e
commit
091a3eb5c9
@ -59,8 +59,14 @@ register.vue setNickname.vue
|
||||
### 2.3 后端流程
|
||||
|
||||
```
|
||||
用户输入手机号 → 发送验证码请求 → 后端生成6位随机码 → 存入Redis(60秒有效期) → 调用阿里云SMS API → 返回前端
|
||||
用户输入验证码 → 验证请求 → 后端从Redis取出比对 → 一致则标记验证成功 → 继续注册流程
|
||||
发送验证码流程:
|
||||
用户输入手机号 → 发送验证码请求 → 后端生成6位随机码 → 存入Redis(Hash结构,60秒TTL) → 调用阿里云SMS API → 返回前端
|
||||
|
||||
验证验证码流程:
|
||||
用户输入验证码 → 验证请求 → 检查Redis中验证码是否存在 → 比对code字段 → 失败则递增attempts,≥3次则删除Key → 验证成功则删除验证码Key并创建verify:register:{mobile}记录(300秒TTL) → 返回verify_token
|
||||
|
||||
注册流程(需携带verify_token):
|
||||
前端提交注册信息 → 后端检查verify:register:{mobile}是否存在且匹配 → 不匹配则拒绝 → 匹配则处理注册(创建用户、粉丝档案) → 删除verify:register记录 → 返回注册成功
|
||||
```
|
||||
|
||||
---
|
||||
@ -206,8 +212,10 @@ TTL: 60 秒
|
||||
### 7.3 防暴力破解策略
|
||||
|
||||
- **失败计数**:每次验证失败递增 attempts 字段,≥ 3 次后删除 Key,要求用户重新获取
|
||||
- **发送频率限制**:记录 `sms:limit:{mobile}:hour`,每小时最多发送 10 次,超限返回 429
|
||||
- **IP 维度限流**(可选):记录 `sms:limit:{ip}:hour`,每 IP 每小时最多请求 30 次
|
||||
- **发送频率限制**:每小时最多发送 10 次,超限返回 429
|
||||
- 使用独立 Key `sms:limit:register:{mobile}` 计数(String 类型,TTL=3600 秒)
|
||||
- **IP 维度限流**(可选):每 IP 每小时最多请求 30 次
|
||||
- 使用独立 Key `sms:limit:ip:{ip}` 计数(String 类型,TTL=3600 秒)
|
||||
|
||||
### 7.4 验证后处理
|
||||
|
||||
@ -317,20 +325,15 @@ Content-Type: application/json
|
||||
## 10. 部署说明
|
||||
|
||||
1. 在阿里云短信服务控制台创建签名和模板,获取 `SignName` 和 `TemplateCode`
|
||||
2. 在 `deploy/envs/user.env` 中配置阿里云 AccessKey:
|
||||
2. 在 `deploy/envs/user.env` 中配置阿里云短信 AccessKey:
|
||||
|
||||
```bash
|
||||
# 阿里云短信配置
|
||||
# 阿里云短信配置(直接使用 AccessKey,非 STS)
|
||||
SMS_ACCESS_KEY_ID=your_access_key_id
|
||||
SMS_ACCESS_KEY_SECRET=your_access_key_secret
|
||||
SMS_SIGN_NAME=TopFans
|
||||
SMS_TEMPLATE_CODE=SMS_xxxxxxx
|
||||
SMS_REGION=cn-hangzhou
|
||||
|
||||
# 阿里云 OSS 配置(复用同一套凭证)
|
||||
OSS_ACCESS_KEY_ID=your_access_key_id
|
||||
OSS_ACCESS_KEY_SECRET=your_access_key_secret
|
||||
OSS_STS_ROLE_ARN=acs:ram::1387642798143585:role/top-fans-oss-user
|
||||
```
|
||||
|
||||
3. 重启 userService 服务
|
||||
|
||||
Loading…
Reference in New Issue
Block a user