v1.0  ·  企业级加密保护  ·  私有化部署

下一代人机验证
安全平台

曲线轨迹 · 碎片化图像 · 行为风控三重防护, 对机器人脚本具备极强对抗能力,全程加密不暴露任何敏感字段。

your-app.com/login
请完成拼图验证
验证通过
向右拖动滑块填充拼图 验证成功 ✓
8
行为维度检测
企业级
全链路加密保护
< 200ms
平均验证响应时间
5 层
请求加密防护

为对抗自动化攻击而设计

每一项特性都针对真实攻击场景,从图像对抗到协议安全,全面覆盖。

三种曲线轨迹引擎
贝塞尔、正弦、分段随机三种曲线类型,每次加载随机选取,让机器人轨迹模拟无从预测。
双维碎片化背景图
20×10 网格随机切割打乱图像块,叠加噪点与 ±15° 随机旋转,彻底对抗 CV 识别还原。
端到端加密保护
请求与响应全链路加密,多层协议嵌套,对外仅暴露不透明载荷,无法通过抓包分析还原任何有效内容。
8 维行为分析
速度、加速度、抖动、Fitts 定律、轨迹平滑度等特征检测,人类评分低于 25 直接判定为机器人。
设备指纹识别
Canvas + WebGL 双通道采集设备特征,生成唯一设备 ID,同设备高频访问自动纳入风控评分。
IP 频率限制 + 黑名单
Redis 缓存 + MySQL 双写持久化,失败 10 次自动封禁,封禁状态重启不丢失,支持永久封禁。

从请求到验证,每一步都有防护

完整的验证链路涵盖生成、交互、校验三个阶段,任意环节均无法伪造。

1
STEP ONE
生成验证码
后端随机生成曲线路径、切割图像、创建 Session,将完整数据加密后返回,响应体仅包含不透明密文,无法直接解读。
2
STEP TWO
用户完成滑动
前端采集滑动轨迹、设备指纹、时间序列,经多层加密协议打包为不透明载荷,并附加请求签名校验。
3
STEP THREE
服务端综合评分
风控引擎对 IP 频率(25%)、行为分析(40%)、设备指纹(15%)、历史失败(20%)四维加权评分,高于阈值自动封禁并颁发一次性 Token。

多层防护,不依赖混淆

安全体系建立在密码学基础上,而非依赖代码混淆,攻击者即使获得源码也无法伪造合法请求。

会话密锥隔离
每张验证码独立派生对称密锥,不同会话的密锥完全隔离,无法共享或推导。
动态密锥派生
多链路密锥隔离
生成、验证两条链路使用完全独立的密锥空间,即使截获一条链路的密文也无法进行跨链路攻击。
密锥空间隔离
防重放机制
每次请求携带唯一证据,服务端验证时间窗口并记录历史请求,同一数据无法被截获后重放。
请求防重放
轨迹坐标动态混淡
最终提交的轨迹坐标经过服务端动态混淡和还原,即使攻击者知道缺口位置也无法直接构造合法请求。
动态防伪造

三步完成集成

SDK 已封装全部加密逻辑,接入方无需了解协议细节,调用简洁直观。

1

安装 SDK

通过 npm 安装前端 SDK,Vue 3 / React / 原生 JS 均支持。

2

引入组件

在需要验证的页面挂载 CaptchaSlider 组件,监听 success 事件获取 Token。

3

服务端二次校验

将 captchaId + token 提交到业务后端,调用 /api/captcha/validate 接口完成最终校验,Token 一次性有效。

vue
// 1. 安装
npm install nextgen-captcha-sdk

// 2. 全局注册
import NextGenCaptcha from 'nextgen-captcha-sdk'
import 'nextgen-captcha-sdk/style.css'
app.use(NextGenCaptcha)

// 3. 在模板中使用
<NextGenCaptchaSlider
  @success="onSuccess"
  @fail="onFail"
/>

// 4. 回调中获取 token
function onSuccess({ token, captchaId }) {
  // 将 captchaId + token 提交到业务后端
  submitLogin({ captchaId, captchaToken: token })
}

// 5. 业务后端二次校验(Java 示例)
// POST /api/captcha/validate
//   ?captchaId={id}&token={token}
// 返回 true 表示合法,false 表示伪造

四维加权风险评分模型

综合分超过阈值自动触发封禁,所有封禁记录持久化到 MySQL,重启不丢失。

维度 权重 触发条件
IP 频率 25% 60s 内超过 10 次请求
行为分析 40% humanScore < 25 判定机器人
设备指纹 15% 同指纹 1h 内超过 200 次
历史失败 20% 同 IP 1h 失败次数超限
综合分 处置 错误码
0 - 59 正常通过 200
60 - 79 升级验证 200 + upgradeNeeded
80+ 封禁 IP 2003
频率超限 频率限制 2002

立即为你的应用
构建防护屏障

完全免费使用,支持私有化部署,数据不经过任何第三方服务器。

NextGen CAPTCHA 文档

安装 SDK

通过 npm 安装唤端 SDK,支持 Vue 3 / React / 原生 JS。

安装

bash
npm install @nextgen/captcha-sdk

全局注册(Vue 3)

js
import { createApp } from 'vue'
import NextGenCaptcha from '@nextgen/captcha-sdk'
import '@nextgen/captcha-sdk/style.css'

createApp(App).use(NextGenCaptcha).mount('#app')
提示:需要先获取接入密钥,请联系服务提供商获取。

挂载组件

将验证码组件嵌入页面,监听 success 事件获取 Token。

Vue 3

vue
<CaptchaSlider @success="onVerified" />

function onVerified({ token, captchaId }) {
  // 将 token + captchaId 随表单提交到业务后端
  submitForm({ token, captchaId })
}

React

jsx
import { CaptchaSlider } from '@nextgen/captcha-sdk'

export default function Login() {
  return (
    <CaptchaSlider
      onSuccess={({ token, captchaId }) => submitForm({ token, captchaId })}
    />
  )
}

原生 JS

html
<script src="/sdk.js"></script>
const captcha = new NextGenCaptcha({
  container: document.getElementById('captcha-box'),
  onSuccess({ token, captchaId }) {
    submitForm({ token, captchaId })
  }
})

服务端校验

前端验证成功后,将 captchaId + token 带入业务请求,在后端做最终校验。

请求示例

http
POST /api/captcha/verify
Content-Type: application/json

{
  "captchaId": "abc123",
  "token": "xxxxxx"
}

Java 示例

java
@Autowired
private CaptchaService captchaService;

boolean ok = captchaService.verifyToken(captchaId, token);
if (!ok) throw new BusinessException("验证失败");
Token 一次性:每个 token 用完即失效,无法被重放攻击。