动态验证码管理系统 — 纯标准库实现的服务端,滑动 / 点选 / 文字三种验证码,内置限流与失败锁定。支持 SQLite / PostgreSQL 双存储、Docker 一键部署、WordPress 插件接入。
拖拽拼图对齐缺口。轨迹缺失、线性滑动、超时超速均判异常。
按顺序点击:D → A → F
按序点击指定字符。顺序错误、间隔过短、坐标偏移均被拒绝。
经典字符识别,兼容旧接入方。验证码一次性使用,120 秒自动过期。
全部支持行为校验(轨迹 / 时序 / 点击顺序),通过后签发一次性 pass_token,防脚本、防重放。
POST /api/v1/captcha/slider/generate / verify
轨迹采样、线性滑动检测、速度上限;支持 Redis 共享失败锁定,多实例防刷。
POST /api/v1/captcha/click/generate / verify
按序点击指定字符。顺序错误、间隔过短、坐标偏移均被拒绝。
POST /api/v1/captcha/text/generate / verify
经典字符识别,兼容旧接入方。验证码一次性使用,120 秒自动过期。
单个进程承载全部能力:验证码生成 / 行为校验 / 统计 / 管理 API。可选组件按需启用。
http.server 线程化服务 — 连接上限 + 请求体上限 + keep-alive 复用连接,前端响应更快
SQLite 开箱即用,设置 DATABASE_URL 一键切换 PostgreSQL(自动建表迁移)
可选 Redis — Token 自动过期、多实例共享限流与失败锁定,无 Redis 自动回退内存
JWT 固定算法 + 双角色(管理员/普通用户)、TOTP 二次验证扫码绑定、API Key 隔离
纵深防御:从边缘限流到凭证校验,九道防线。左侧为真实拦截日志(示例),每一次攻击都会被记录并拒绝。
IP 限流 · 按 action 独立配额 — 生成/登录/注册各自限流,429 带 retry_after 退避
失败锁定 + 登录验证码 — IP + Key 双维度失败锁定;后台登录需图片验证码防暴力破解
轨迹 / 时序校验 + jti 一次性 — 线性滑动、缺失轨迹、点击过速均判异常;pass_token 重放即拒
TOTP 二次验证 + PBKDF2 哈希 — 扫码绑定两步登录;密码哈希存储,空凭据 fail-fast 拒启
WordPress 插件四类表单防护 — 登录 / 注册 / 评论 / 找回密码,开箱即用
镜像发布在 GitHub Container Registry,多架构 amd64 / arm64,无需 clone 仓库、无需本地构建。
GHCR 多架构镜像,push main 自动重建,v* tag 出 semver 标签
compose 内置可选 postgres 服务,一行环境变量切换存储
可选 redis 服务,多实例共享限流与锁定
仓库内置 captcha-guard 插件,保护登录 / 注册 / 评论 / 找回密码