无密码 OTP 快速激活机制
了解 SmallPict 如何通过高安全性的一次性密码(OTP)实现 WordPress 站点的一键绑定。
SmallPict 摒弃了传统的用户名/密码凭证体系,全面采用一次性密码 (OTP) 动态认证机制。
这种设计彻底规避了凭证撞库攻击(Credential Stuffing),并让站长在几秒钟内即可轻松激活与绑定 WordPress 站点。
密码学安全防护标准
OTP 验证链路严格遵循密码学安全与原子性控制:
| 安全屏障 | 执行规范 |
|---|---|
| 验证码生成 | 基于密码学安全的真随机数生成器 生成 6 位纯数字 |
| 存储安全 | 验证码在写入数据库前先经过 SHA-256 单向哈希计算(绝不保存明文) |
| 有效期 (TTL) | 自邮件发出起严格生效 5 分钟 (300 秒) |
| 重试冷却时间 | 两次发送请求之间强制保留至少 60 秒 冷却间隔 |
| 重试次数限制 | 单次会话最多允许 3 次错误尝试,超出后会话立即永久作废 |
| IP 防刷追踪 | 请求来源 IP 经过哈希化追踪并受到速率限制保护 |
认证完整流程剖析
1. 发起 OTP 验证请求
站长在 WordPress 设置页面中输入邮箱并提交后,插件调用公开认证接口:
POST https://api.smallpict.app/v1/plugin/auth/request-otp
JSON
{ "email": "admin@example.com", "site_url": "https://example.com", "consent": true}SmallPict 服务端即刻生成 6 位 OTP,哈希加密后存入数据库,并通过高到达率邮件服务发送给用户。
2. 验证 6 位验证码
用户在插件界面填写收到的 6 位数字验证码:
POST https://api.smallpict.app/v1/plugin/auth/verify-otp
JSON
{ "email": "admin@example.com", "otp": "839201", "site_url": "https://example.com"}验证成功后,SmallPict 将自动:
- 若为新用户,自动开通对应的云端账户。
- 签发专属于该 WordPress 站点的独立 API Key (
sp_wp_...) 与 Secret Key。 - 自动将成对密钥安全写入 WordPress 本地数据库加密选项表中,完成即时激活。
常见故障排查
没有收到验证码邮件?
- 请检查您的垃圾邮件箱或广告拦截目录。
- 等待 60 秒后,在引导界面点击 重新发送验证码 (Resend OTP)。
- 确保您站点的服务器防火墙允许向
https://api.smallpict.app发送出站 HTTPS 请求。
提示 "已达到最大验证尝试次数"?
若连续输错 3 次,为防止暴力破解,系统将作废当前验证会话。只需重新点击发送获取新的验证码即可。