FAQ

VAPTCHA收费吗?

用户注册后默认版本为VAPTCHA标准版,标准版完全免费且无验证量峰值或总量上限。如果有自定义手势图、安全策略及攻击日志存储、导出等需要消耗额外服务器资源的需求则需要升级到企业版。

验证流程图

VAPTCHA加密验证流程图

名词解释

VID:每个验证单元的唯一标识

KEY:用于加密校验,每个验证单元唯一

Knock:每次验证尝试的唯一流水号

设备信息:浏览器环境、设备指纹等信息用于追踪攻击源

Token:验证成功后返回的标记

IP:请求验证的用户IP

二次验证:由接入应用后端服务器发起的再次确认验证过程

验证流量图

VAPTCHA验证流量图

如何保证验证服务的稳定?

如上图所示,VAPTCHA在请求的各个阶段均预留了充足的服务器资源,一旦某个验证单元被重度攻击(比如以消耗服务器资源目的的DDOS或CC攻击会导致请求飙升),系统会通过网关控制自动对其隔离,从而降低对系统整体的影响。如果更极端的情况发生,比如VAPTCHA服务器群全部宕机,甚至机房失火、发生地震,也不用担心,VAPTCHA独有的离线模式可以全天候保证接入网站、APP的验证安全,所以请务必配置离线验证模式。

为什么有时攻击数会远远大于验证请求数?

攻击拦截数统计的是所有接口的异常请求,而验证请求数统计的是通过网关初步筛选后向验证服务器请求knock的数量。比如网站受到DDOS攻击或CC攻击,VAPTCHA的硬防和网关会拦截掉绝大部分攻击 请求,这就会导致攻击拦截数远远大于验证请求数。

什么是离线验证模式?

离线验证模式是VAPTCHA特有的保护模式,它利用CDN缓存资源通过加密算法即可完成人机验证。离线验证模式完全不依赖中心计算服务器,所以不会因为高强度攻击而停止服务,就算VAPTCHA服务器群因为不可抗力全部离线,也不会影响接入服务的网站、APP的人机验证安全。

什么情况下会进入离线验证模式?

  • 接入网站、app可根据需要在任意时候选择强制进入离线验证模式,比如请求超时或者将离线验证模式作为日常验证策略。
  • VAPTCHA系统性瘫痪时会改写系统状态缓存标记,所有接入服务的网站、APP都会强制进入离线验证模式,直至VAPTCHA恢复正常。

离线验证模式原理

1. 角色说明:

  • Cache: 用于存储离线验证资源,由VAPTCHA内网服务器来管理

    Client Server: 接入VAPTCHA的网站或APP的后端服务器

    User: 访问Client的用户

2. 资源地址:

  • https://offline.vaptcha.com/offlinekey/imgid   包含离线验证要用到图片

    https://offline.vaptcha.com/offlinekey/validatekey  验证结果

3. 验证流程:

  • User访问Client需要人机验证的页面时发起离线验证请求。

    Client Server请求https://channel.vaptcha.com/config/vid 验证VAPTCHA是否进入离线验证模式,如果是则提取出Key。

    Clinet 生成4位16进制随机数字符串randomstr,然后取key+randomstr的MD5值作为imgid。

    生成一个GUID作为本次验证的流水号knock,并与imgid以键值对存储。

    向前端返回本次验证的knock及imgid。

    User识别验证图手势并绘制,前端代码提取用户手势的4个特征点构成一个4位16进制数字符串usercode,将usercode 和knock提交到Client Server。

    Client Server检测knock是否存在,存在则取usercode+imgid 的MD5值则作为validatekey。

    请求验证结果链接,如果当前链接存在则验证通过,否则验证失败。

  • 离线验证模式流程图

    VAPTCHA离线验证模式验证流程
  • 离线验证模式示例图

    离线验证模式下,验证图仍然为手势验证图,并未显著降低用户体验 VAPTCHA离线验证模式示例图

什么是无感验证?

无感验证可由用户自行配置,当此配置开启时,允许受信任的用户或客户端当次验证请求发起时通过综合风险模型的安全评估后可以一键完成人机验证,整个过程响应时间在200ms内,大幅提升用户体验。

无感验证演示
VAPTCHA无感验证演示

为什么要域名校验?

每个验证单元必须绑定一个域名,可以防止验证单元被其他网站盗用,建议填写一级域名,如:VAPTCHA.COM ,这样所有的二级域名均可使用这个验证单元。企业版可以设置不校验域名。

短信补贴

VAPTCHA提供短信接口,并鼓励大家在调用短信接口时进行人机验证,不仅可以防刷同时可以享受远低于市场价的补贴后价格。目前仅支持国内、国际触发短信,不支持营销短信发送。

V3部署变化

如果你引入的是V3之前的版本,请参考如下步骤来重新部署代码

  • 修改前端引导js,改为:https://v.vaptcha.com/v3.js
  • 前端配置修改,场景值由‘字符串类型’改为‘数值类型’,以前的配置项 scene:’01’ 需要改为scene:1
  • 前端配置修改,增加离线模式,配合后端sdk填写离线模式配置,示例: offline_server:’https://www.xxx.com/offlineinterface’
  • 后端配置修改,配合后端sdk完成二次验证

操作演示

有箭头手势图
按照特定方向绘制,通过验证
无箭头手势图
任意方向绘制,通过验证