全部產品
Search
文件中心

Captcha:服務端接入

更新時間:Jan 06, 2026

完成用戶端接入後,您還需要在服務端調用VerifyIntelligentCaptcha介面,發起驗證請求。本文介紹如何調用VerifyIntelligentCaptcha介面。

前提條件

您需要建立訪問憑據,驗證碼2.0服務端支援使用AccessKey、STS Token等多種方式調用,具體請參見使用Credentials工具

重要

禁止直接使用主帳號AccessKey,因為主帳號AccessKey一旦泄露將威脅您所有雲資源的安全。請使用子帳號(RAM使用者)AccessKey,有效降低AccessKey泄露的風險。使用阿里雲驗證碼,您需要為子帳號授予阿里雲驗證碼許可權(AliyunYundunAFSFullAccess)。

下載並安裝SDK

  1. 根據您服務端的開發環境,在OpenAPI開發人員門戶的中,下載對應語言版本的服務端SDK包。驗證碼2.0服務端代碼整合支援Java、TypeScript、Go、PHP、Python、.NET、C++和Swift語言。

    支援的語言

    SDK下載地址

    Github源碼地址

    Java

    Python

    下載Python SDK

    Captcha SDK for Python

    Typescript

    下載TypeScript SDK

    Captcha SDK for Typescript

    Go

    下載Go SDK

    Captcha SDK for Go

    PHP

    下載PHP SDK

    Alibaba Cloud Green SDK for PHP

    Swift

    下載Swift SDK

    Captcha SDK for Swift

    C++

    下載C++ SDK

    Captcha SDK for C++

    .NET

    下載.NET SDK

    Captcha SDK for .NET

  2. 解壓SDK包,並載入到您的服務端工程中。

調用VerifyIntelligentCaptcha介面

發起認證請求

  • 介面名:VerifyIntelligentCaptcha

  • AliyunCaptchaConfig參數region傳值和服務端接入地址endpoint必須映射正確,否則會導致驗證請求返回錯誤。

    服務地址

    用戶端接入region傳值

    服務端接入對應的Endpoint地址

    驗簽請求網域名稱是否支援雙棧

    中國內地(上海)

    cn

    IPv4:captcha.cn-shanghai.aliyuncs.com

    只支援IPv4

    雙棧:captcha-dualstack.cn-shanghai.aliyuncs.com

    同時支援IPv4和IPv6

    非中國內地(新加坡)

    sgp

    IPv4:captcha.ap-southeast-1.aliyuncs.com

    只支援IPv4

    雙棧:captcha-dualstack.ap-southeast-1.aliyuncs.com

    同時支援IPv4和IPv6

  • 要求方法:POST

  • 傳輸協議:HTTPS

  • 介面說明:用戶端驗證碼配置完成後,在服務端調用本介面進行驗證。

請求參數

名稱

類型

是否必選

描述

樣本值

CaptchaVerifyParam

String

由驗證碼指令碼回調的驗證參數,直接將全部參數資訊由用戶端傳給服務端即可。

警告

禁止對驗證參數做任何修改,否則業務會報錯。

  • V2架構樣本值:{"sceneId":"xxxxxx","certifyId":"xxxxxx","deviceToken":"xxxxxxx==","data":"xxxxxx==","..."}

  • V3架構樣本值:eyJjZXxxxxxxxxxxxxxxnVlfQ==

SceneId

String

由您服務端寫入本次驗證對應的情境ID,建議傳入,尤其在多情境下,防止前端被篡改為其他情境。

Udw***d72

返回資料

名稱

類型

描述

HTTP Status Code

Integer

HTTP狀態代碼。更多資訊,請參見返回參數說明

HTTP Body

RequestId

String

請求ID。

Success

Boolean

請求是否成功。

  • true:表示請求成功。

  • false:表示請求失敗。

Code

String

返回碼。更多資訊,請參見返回參數說明

Message

String

返回詳細資料。更多資訊,請參見返回參數說明

Result

VerifyResult

Boolean

驗證結果。

  • true:表示驗證通過。

  • false:表示驗證不通過。

VerifyCode

String

T001

服務端校正通過。

T005

控制台開啟測試模式,且配置了驗證通過。如有疑問,請登入驗證碼2.0控制台查看對應情境的策略狀態的配置。具體操作請參見接入指引

F001

疑似攻擊請求,風險策略不通過。

F002

您傳入的CaptchaVerifyParam參數為空白,CaptchaVerifyParam是由前端自動擷取並傳給您的服務端,服務端不能做任何更改,直接傳給阿里雲。請參考服務端接入檢查您的整合代碼。

F003

您傳入的CaptchaVerifyParam格式不合法,CaptchaVerifyParam是由前端自動擷取並傳給您的服務端,服務端不能做任何更改,直接傳給阿里雲。請參考服務端接入檢查您的整合代碼。

F004

控制台開啟測試模式,且配置了驗證不通過。如有疑問,請登入驗證碼2.0控制台查看對應情境的策略狀態配置。具體操作請參見情境管理

F005

CaptchaVerifyParam中的情境ID(sceneId)不合法,CaptchaVerifyParam是由前端自動擷取並傳給您的服務端,服務端不能做任何更改,直接傳給阿里雲。請參考服務端接入檢查您的整合代碼。

F006

CaptchaVerifyParam中的情境ID(sceneId)不合法,前端整合需要傳入您賬戶建立的情境ID,請登入驗證碼2.0控制台查看情境配置。

F008

驗證資料重複提交。同一筆驗證碼請求只允許提交一次。

F009

檢測到虛擬設備環境,請檢查是否使用vmware、virtualbox、hyper-v、parallels等虛擬機器,avd、blue stacks、vbox/hyper-v等模擬器,案頭瀏覽器類比行動裝置等。如不需要攔截,請登入驗證碼2.0控制台自訂策略中關閉,具體操作請參見設定自訂策略

F010

同IP訪問頻率超出限制。如果需要自訂頻率閾值,請登入驗證碼2.0控制台自訂策略進行配置,具體操作請參見設定自訂策略

F011

同裝置訪問頻率超出限制。如果需要自訂頻率閾值,請登入驗證碼2.0控制台自訂策略進行配置,具體操作請參見設定自訂策略

F012

您服務端參數裡傳入的SceneID需要與前端配置的情境ID(SceneId)保持一致。

F013

您傳入的CaptchaVerifyParam缺少參數,CaptchaVerifyParam是由前端自動擷取並傳給您的服務端,服務端不能做任何更改,直接傳給阿里雲。請參考發起認證請求檢查您的整合代碼。

F014

無初始化記錄,可能存在兩種原因:

  • 驗證請求和初始化請求間隔超出20分鐘時間,後端會刪除初始化記錄,請重新發起初始化請求進行嘗試。

  • 不存在初始化記錄,疑似攻擊請求,或者接入異常,發起驗證請求前需先發起用戶端初始化請求。

F015

驗證互動不通過。例如拼圖沒有滑動到正確位置,可以重新整理驗證碼重新完成互動。

F016

控制台自訂策略配置URL驗證導致不通過,請登入驗證碼2.0控制台自訂策略中URL驗證策略進行調整,具體操作請參見設定自訂策略

F017

疑似攻擊請求,協議或參數異常不通過。

F018

V3架構下,業務驗簽請求入參CaptchaVerifyParam重複使用。

F019

V3架構下,行為驗證請求和業務驗簽請求間隔超出90秒或未發起行為驗證就直接進行業務驗簽請求。

F020

V3架構下,業務驗簽請求的CaptchaVerifyParam與情境ID或使用者不匹配。

F023

在V2架構中,若初始化失敗,將自動觸發驗證請求。當該請求校正未通過時,將返回此狀態代碼。此過程屬於容災機制,不產生計費。

F024

檢測到自動化指令碼類比點擊、滑動等操作行為。若當前為引入 touch-emulator 以在案頭端類比觸摸事件的 Vue 應用,或其他存在合法類比點擊情境的業務,請勿啟用攔截。如無需攔截此類行為,請在自定义策略中關閉拦截模拟点击行为,具體操作請參見設定自訂策略

CertifyID

String

  • 若初始化傳入自訂CertifyID參數(UserCertifyId),該值將透傳自訂CertifyID,支援客戶關聯校正。

  • 若初始化未傳入自訂CertifyID參數,該值將展示服務端產生的預設CertifyID,用於標識驗證碼單次驗證周期。

返回參數HTTP Status CodeCodeMessage的詳細說明,如下表所示。

HTTP Status Code

Code

Message

200

Success

成功。

400

MissingParameter

缺少必須參數。

401

InvalidParameter

參數不合法。

403

Forbidden.AccountAccessDenied

無許可權,可能是未開通服務,或已欠費。

403

Forbidden.RAMUserAccessDenied

RAM使用者無許可權,請授權 AliyunYundunAFSFullAccess。具體操作,請參見管理RAM角色的許可權

500

InternalError

系統內部錯誤,建議重試。

程式碼範例

驗證碼服務端智能驗證範例程式碼