クライアントサイド統合が完了したら、サーバーから VerifyIntelligentCaptcha API を呼び出して検証を完了します。このトピックでは、VerifyIntelligentCaptcha API の呼び出し方法について説明します。
前提条件
アクセス資格情報を作成します。Captcha 2.0 サーバーは、AccessKey やセキュリティトークンサービス (STS) トークンなど、さまざまなメソッドを使用する API 呼び出しをサポートしています。詳細については、「資格情報クライアントの初期化」をご参照ください。
Alibaba Cloud アカウントの AccessKey を使用しないでください。 AccessKey が漏洩した場合、すべてのクラウドリソースが危険にさらされます。セキュリティリスクを軽減するには、Resource Access Management ( RAM ) ユーザーの AccessKey を使用します。Alibaba Cloud CAPTCHA を使用するには、RAM ユーザーに AliyunYundunAFSFullAccess 権限を付与します。
SDK をダウンロードしてインストールする
OpenAPI Developer Portal から、お使いのプログラミング言語用のサーバーサイドソフトウェア開発キット (SDK) パッケージをダウンロードします。Captcha 2.0 は、Java、TypeScript、Go、PHP、Python、.NET、C++、Swift 用のサーバーサイド SDK を提供しています。
対応言語
SDK ダウンロードアドレス
GitHub ソースアドレス
Java
Python
TypeScript
Go
PHP
Swift
C++
.NET
SDK パッケージを解凍し、サーバーサイド プロジェクトにロードします。
VerifyIntelligentCaptcha API を呼び出す
認証リクエストを送信する
API 名: VerifyIntelligentCaptcha
AliyunCaptchaConfig の region パラメーターの値は、サーバー側のエンドポイントに正しくマッピングされている必要があります。そうでない場合、検証リクエストはエラーを返します。
エンドポイント
クライアント側統合の region パラメーターの値
対応するサーバー側のエンドポイント
署名検証ドメイン名のデュアルスタックサポート
中国本土 (上海)
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
API の説明: クライアントサイドの Captcha を設定した後、サーバーからこの API を呼び出して検証を実行します。
リクエストパラメーター
名前 | タイプ | 必須 | 説明 | 例 |
CaptchaVerifyParam | String | はい | Captcha スクリプトのコールバックによって返される検証パラメーター。クライアントからサーバーにすべてのパラメーター情報を渡します。 警告 検証パラメーターを変更しないでください。変更すると、ビジネスエラーが発生します。 |
|
SceneId | String | いいえ | 現在の検証のシナリオ ID。特にマルチシナリオデプロイメントでは、フロントエンドが改ざんされて他のシナリオに使用されるのを防ぐために、サーバーでこのパラメーターを指定します。 | Udw***d72 |
レスポンスパラメーター
名前 | タイプ | 説明 | |||
HTTP ステータスコード | Integer | HTTP ステータスコード。詳細については、「レスポンスパラメーターの説明」をご参照ください。 | |||
HTTP ボディ | RequestId | String | リクエスト ID。 | ||
Success | ブール値 | リクエストが成功したかどうかを示します。
| |||
Code | String | リターンコード。詳細については、「レスポンスパラメーターの説明」をご参照ください。 | |||
Message | String | 詳細情報。詳細については、「レスポンスパラメーターの説明」をご参照ください。 | |||
Result | VerifyResult | ブール値 | 検証結果。
| ||
VerifyCode | String | T001 | サーバー側の検証に合格しました。 | ||
T005 | コンソールでテストモードが有効になっており、検証に合格するように構成されています。ご質問がある場合は、Captcha 2.0 コンソール にログインして、シナリオのポリシーステータス設定を確認してください。詳細については、「統合ガイド」をご参照ください。 | ||||
F001 | 攻撃の疑いのあるリクエスト。リクエストはリスク管理ポリシーによってブロックされています。 | ||||
F002 | 渡された | ||||
F003 | 渡された | ||||
F004 | コンソールでテストモードが有効になっており、検証をブロックするように構成されています。ご質問がある場合は、Captcha 2.0 コンソール にログインして、シナリオのポリシーステータス構成を確認してください。詳細については、「シナリオの管理」をご参照ください。 | ||||
F005 | CaptchaVerifyParam のシーン ID (sceneId) が無効です。CaptchaVerifyParam はフロントエンドによって自動的に取得され、サーバーに渡されます。このパラメーターは変更しないでください。Alibaba Cloud に直接渡してください。詳細については、「サーバーサイド統合」をご参照ください。統合コードを確認してください。 | ||||
F006 |
| ||||
F008 | 検証データが繰り返し送信されています。検証コードリクエストは一度だけ送信できます。 | ||||
F009 | 仮想デバイス環境が検出されました。VMware、VirtualBox、Hyper-V、Parallels などの仮想マシン、AVD、BlueStacks、VBox/Hyper-V などのエミュレーター、またはモバイルデバイスを偽装するデスクトップブラウザを使用しているかどうかを確認してください。これらのリクエストをブロックしたくない場合は、Captcha 2.0 コンソール にログインし、カスタムポリシーでこの機能を無効にしてください。詳細については、「カスタムポリシーを設定する」をご参照ください。 | ||||
F010 | 同じ IP アドレスからのアクセス頻度が制限を超えています。頻度のしきい値をカスタマイズするには、Captcha 2.0 コンソール にログインして、カスタムポリシーを構成します。詳細については、「カスタムポリシーを設定する」をご参照ください。 | ||||
F011 | 同じデバイスからのアクセス頻度が制限を超えています。頻度のしきい値をカスタマイズするには、Captcha 2.0 コンソール にログインして、カスタムポリシーを構成します。詳細については、「カスタムポリシーを設定する」をご参照ください。 | ||||
F012 | サーバー側パラメーターで渡された SceneID は、フロントエンドで構成された SceneId と同じである必要があります。 | ||||
F013 | 渡された | ||||
F014 | 初期化レコードが見つかりません。これには 2 つの理由が考えられます。
| ||||
F015 | 検証インタラクションに失敗しました。たとえば、パズルピースが正しい位置に移動されませんでした。Captcha を更新して、再試行できます。 | ||||
F016 | コンソールのカスタムポリシーで構成された URL 検証のため、リクエストがブロックされています。Captcha 2.0 コンソール にログインして、URL 検証ポリシーを調整してください。詳細については、「カスタムポリシーを設定する」をご参照ください。 | ||||
F017 | 攻撃の疑いのあるリクエスト。異常なプロトコルまたはパラメーターのため、リクエストがブロックされています。 | ||||
F018 | V3 アーキテクチャでは、ビジネス署名検証リクエストのリクエストパラメーター CaptchaVerifyParam が再利用されています。 | ||||
F019 | V3 アーキテクチャでは、動作検証リクエストとビジネス署名検証リクエストの間隔が 90 秒を超えているか、ビジネス署名検証リクエストが先行する動作検証リクエストなしで送信されています。 | ||||
F020 | V3 アーキテクチャでは、ビジネス署名検証リクエストの CaptchaVerifyParam がシーン ID またはユーザーと一致しません。 | ||||
CertifyID | String |
| |||
次の表は、HTTP ステータスコード、コード、およびメッセージのレスポンスパラメーターについて説明しています。
HTTP ステータスコード | Code | Message |
200 | Success | リクエストは成功しました。 |
400 | MissingParameter | 必須パラメーターがありません。 |
401 | InvalidParameter | パラメーターが無効です。 |
403 | Forbidden.AccountAccessDenied | 操作を実行する権限がありません。サービスがアクティブ化されていないか、アカウントの支払いが遅延している可能性があります。 |
403 | Forbidden.RAMUserAccessDenied | RAM ユーザーは操作を実行する権限がありません。RAM ユーザーに AliyunYundunAFSFullAccess 権限を付与します。詳細については、「RAM ロールに権限を付与する」をご参照ください。 |
500 | InternalError | 内部エラーが発生しました。リクエストを再試行することをお勧めします。 |