CAPTCHA 2.0 は、クライアント側でユーザーの操作を検証し、ご利用のサーバーで結果を検証することで、Web およびモバイルアプリケーションをボットから保護します。
統合ワークフロー
CAPTCHA 2.0 を統合するには、以下の 4 つのステップを完了します。
サービスの有効化 -- CAPTCHA 2.0 をサブスクライブし、ID プレフィックスを取得します。
認証シーンの作成 -- CAPTCHA の表示方法と表示場所を定義します。
クライアントとサーバーの統合 -- フロントエンドに CAPTCHA を追加し、バックエンドで結果を検証します。
アプリケーションの公開 -- 本番環境にデプロイします。
前提条件
開始する前に、以下が準備されていることを確認してください。
有効な支払方法が設定された Alibaba Cloud アカウント
CAPTCHA 認証が必要なクライアントアプリケーション (Web、モバイルアプリ、または WeChat ミニプログラム)
Alibaba Cloud の
VerifyIntelligentCaptchaAPI を呼び出すことができるバックエンドサーバー
ステップ 1: CAPTCHA サービスの有効化
CAPTCHA 2.0 コンソールにログインし、Buy Now をクリックします。
Overview ページに移動します。[基本情報] カードで、Identity Prefix をコピーします。このプレフィックスはクライアント側の統合に必要です。

ステップ 2: 検証シナリオを作成する
左側のナビゲーションウィンドウで、 をクリックします。
以下のパラメーターを設定します。
Scenario Name -- 認証シーンを説明する名前を入力します。
Integration Method -- ご利用のクライアントプラットフォームに一致するメソッドを選択します。以下の表をご参照ください。
[認証タイプ] -- 認証タイプを選択します。
設定を完了し、Scenario ID を取得します。
詳細については、「シーン管理」をご参照ください。
プラットフォーム別の統合方法
プラットフォーム | [統合方法] の設定 |
Web または H5 ページ | [Web/H5] |
Android または iOS アプリ | ウェブビュー+H5 (アプリおよびミニプログラムに対応) |
WeChat ミニプログラム | Webview+H5 (アプリおよびミニプログラムに対応) または WeChat ミニプログラム ネイティブプラグイン |
認証タイプ
認証タイプ | 説明 |
スライダー認証 | ユーザーがスライダーをドラッグしてチャレンジを完了します。 |
ジグソーパズル認証 | ユーザーがパズルのピースを正しい位置に移動させます。 |
クリック認証 | ユーザーがボタンをクリックして認証をパスします。 |
画像復元認証 | ユーザーが画像を元の状態に復元します。 |
No-CAPTCHA 認証 | リスクの低いユーザーは操作なしでパスします。リスクの高いユーザーには二次的なチャレンジが表示されます。 |
ステップ 3: CAPTCHA の統合
統合は、CAPTCHA をレンダリングしてユーザーの操作を収集するクライアント側のコンポーネントと、Alibaba Cloud で結果を検証するサーバー側のコンポーネントの 2 つの部分で構成されます。
Web および H5 の統合
認証シーンを作成する際に、Integration Method を [Web/H5] に設定します。
クライアント側: 認証が必要なすべてのページに CAPTCHA の初期化コードを追加します。コードサンプルについては、「Web および H5 クライアント V3 アーキテクチャの統合」をご参照ください。
サーバー側: ご利用のサーバーに Alibaba Cloud SDK をインストールします。クライアントから受け取った
CaptchaVerifyParamの値を使用してVerifyIntelligentCaptchaAPI を呼び出します。詳細については、「サーバー側の統合」をご参照ください。
アプリの統合 (Android および iOS)
認証シーンを作成する際に、Integration Method を [Webview+H5 (Supports apps and mini-programs)] に設定します。
クライアント側 (Web/H5): アプリ内でロードされる Web ページに CAPTCHA の初期化コードを追加します。「Web および H5 クライアント V3 アーキテクチャの統合」をご参照ください。
サーバー側: Alibaba Cloud SDK をインストールし、
VerifyIntelligentCaptchaAPI を呼び出します。「サーバー側の統合」をご参照ください。アプリ側:
Android: WebView コンポーネントを使用して、CAPTCHA を含む Web ページをロードします。「Android V3 アーキテクチャの統合」をご参照ください。
iOS: WKWebView コンポーネントを使用して、CAPTCHA を含む Web ページをロードします。「iOS V3 アーキテクチャの統合」をご参照ください。
WeChat ミニプログラムの統合
認証シーンを作成する際に、Integration Method を [Webview+H5] (Supports apps and mini-programs) または WeChat Mini Program Native Plugin に設定します。
認証が必要な各ミニプログラムページに CAPTCHA の初期化コードを追加します。「ミニプログラムの統合」をご参照ください。
統合の検証
統合が完了したら、以下のテストを実行して CAPTCHA が正しく動作することを確認します。
クライアント側の初期化のテスト
CAPTCHA が統合されたページを開きます。
ブラウザの開発者ツールを開き、[ネットワーク] タブに移動します。
以下の項目が存在することを確認します。
初期化リクエスト。
初期化リクエストの [プレビュー] に、
successがtrueに設定された CAPTCHA 情報が含まれている。CAPTCHA リソースがロードされている。

クライアント側の検証のテスト
CAPTCHA を操作して検証リクエストをトリガーします。
ブラウザの開発者ツールで、[ネットワーク] タブに移動します。
[VerifyResult] が
trueであることを確認します。

サーバー側の検証のテスト
クライアント側の検証が成功すると、クライアントは CaptchaVerifyParam をビジネスサーバーに送信します。ご利用のサーバーは VerifyIntelligentCaptcha API を呼び出します。
API 応答を確認します。検証が成功すると、VerifyResult が true として返されます。
{
"RequestId": "C******-B***-4***-A***-5*******1",
"Message": "success",
"HttpStatusCode": 200,
"Code": "Success",
"Success": true,
"Result": {
"VerifyCode": "T001",
"VerifyResult": true
}
}エンドツーエンドの動作のテスト
アプリケーションで CAPTCHA が期待どおりに動作することを確認します。
スライダー認証、ジグソーパズル認証、クリック認証、画像復元認証: ユーザーがチャレンジを完了すると、[認証成功] メッセージが表示されます。
No-CAPTCHA 認証: ビジネスアクションが成功すると、認証が確認されます。たとえば、ログインシナリオでは、ユーザーがログインした後に [ログイン成功] メッセージが表示されます。
ステップ 4: アプリケーションの公開
すべてのテストに合格したら、統合されたアプリケーションを本番環境にデプロイします。
統計データの表示
統合が本番稼働したら、コンソールの「統計データの表示」ページで認証メトリックをモニターします。
認証の仕組み (V3 アーキテクチャ)
スライダー認証、ジグソーパズル認証、クリック認証、画像復元認証
クライアントは CAPTCHA を初期化し、JavaScript (JS) リソース (画像、質問) を CAPTCHA サーバーにリクエストします。
CAPTCHA サーバーは JS リソースを返します。クライアントは CAPTCHA をロードしてレンダリングします。
ユーザーはチャレンジ (スライダー、パズル、または画像復元) を解決します。JS は検証リクエストを CAPTCHA サーバーに送信します。サーバーは回答と、リクエストがマシンから発信されたものかどうかを確認します。
成功すると、CAPTCHA は success コールバック関数を呼び出し、CaptchaVerifyParam を返します。失敗した場合、CAPTCHA は自動的にリフレッシュされ、再試行できます。
クライアントはビジネスパラメーターと CaptchaVerifyParam をビジネスサーバーに送信します。
ビジネスサーバーは VerifyIntelligentCaptcha API を呼び出して CaptchaVerifyParam を検証します。
CAPTCHA サーバーはパラメーターを検証し、悪意のあるアクティビティをチェックして結果を返します。
ビジネスサーバーは結果に基づいてビジネスロジックを処理し、検証結果とビジネス結果の両方をクライアントに返します。
No-CAPTCHA 認証
クライアントは CAPTCHA を初期化し、JS リソースを CAPTCHA サーバーにリクエストします。
CAPTCHA サーバーは JS リソースを返します。
ユーザーがトリガーボタンをクリックします。Alibaba Cloud サーバーはユーザーが安全かどうかを評価します。
サーバーは評価結果を返します。
安全なユーザー: 初期検証に合格します。success コールバックは、サーバー側の検証のために CaptchaVerifyParam を返します。
リスクのあるユーザー: 二次チャレンジがトリガーされます。
クライアントは JS リソースをロードし、CAPTCHA をレンダリングします。ユーザーがチャレンジを解決した後、JS は検証リクエストを送信します。CAPTCHA サーバーは回答を確認します。
成功すると、success コールバックは CaptchaVerifyParam を返します。失敗した場合、CAPTCHA は自動的にリフレッシュされます。
クライアントはビジネスパラメーターと CaptchaVerifyParam をビジネスサーバーに送信します。
ビジネスサーバーは VerifyIntelligentCaptcha API を呼び出して CaptchaVerifyParam を検証します。
CAPTCHA サーバーはパラメーターを検証し、悪意のあるアクティビティをチェックして結果を返します。
ビジネスサーバーはビジネスロジックを処理し、結果をクライアントに返します。