签入版本

This commit is contained in:
2026-10-08 21:09:24 +08:00
parent 846cdb601f
commit 40a263ce22
14 changed files with 46 additions and 20 deletions
@@ -154,12 +154,18 @@ Content-Type: application/json
| 验证码过期/不存在 | 1 | 验证码错误 |
| 验证码不匹配 | 1 | 验证码错误 |
| 获取频率超限 | 1 | 请求过于频繁,请 N 秒后重试 |
| Redis 未连接(密码错误/服务未启) | 1 | 缓存服务(Redis)连接失败,请检查 Redis 配置(地址、端口、密码)后重试 |
| 验证码生成的其它异常 | 1 | 验证码生成失败,请稍后重试 |
| 未配置验证码长度(=0) | — | 跳过验证码校验(仅调试用途) |
:::tip 验证码错误统一提示
无论验证码是过期、不存在还是不匹配,统一提示"验证码错误",不暴露具体原因,防止攻击者探测。
:::
:::tip Redis 不可用的检测与提示
生成验证码写入 Redis 失败时,会再执行一次 `PING` 复检(同样走地址、端口、密码鉴权):连接确实不通才返回「缓存服务(Redis)连接失败…」这条可操作的提示,其余情况返回通用提示;真实错误(如密码不匹配、连接拒绝)记录在日志 `验证码写入 Redis 失败` 中。
:::
### Redis 存储结构
```text
@@ -375,7 +381,7 @@ CAPTCHA_NOISE_DOTS=300
| 现象 | 原因 | 处理 |
|------|------|------|
| 验证码接口 500 | Redis 未连接 / phpredis 扩展缺失 | 见 [2.2 Laragon 环境搭建](/zh/quickstart/laragon.html) Redis 章节 |
| 验证码接口返回「缓存服务(Redis)连接失败…」 | Redis 未连接 / 密码不匹配 / phpredis 扩展缺失 | 见 [2.2 Laragon 环境搭建](/zh/quickstart/laragon.html) Redis 章节 |
| 图片显示空白 | 字体文件缺失 | 确认 `public/static/fonts/Vera.ttf` 存在 |
| 一直提示验证码错误 | 前端传参名错误 | 必须是 `key` / `code`(非 captchaKey/captchaCode) |
| 频繁提示"请求过于频繁" | 同 IP 短时间多次获取 | 等待窗口期结束,或调整 `CAPTCHA_RATE_LIMIT` |