CAPTCHA JavaScript API を使用する - AWS WAF、AWS Firewall Manager、および AWS Shield Advanced

CAPTCHA JavaScript API を使用する

このセクションでは、CAPTCHA 統合 API を使用する手順について説明します。

CAPTCHA JavaScript API を使用すると、CAPTCHA パズルを設定し、クライアントアプリケーションの任意の場所に配置できます。この API は、インテリジェントな脅威に対応した JavaScript API の機能を活用し、エンドユーザーが CAPTCHA パズルの完成に成功した後に AWS WAF トークンを取得および使用します。

JavaScript 統合を最初にテスト環境で実装し、次に本番環境で実装します。追加のコーディングガイダンスについては、次のセクションを参照してください。

CAPTCHA 統合 API を使用するには
  1. API のインストール

    1. AWS Management Console にサインインして AWS WAF コンソール (https://console.aws.amazon.com/wafv2/) を開きます。

    2. ナビゲーションペインで、[Application integration] (アプリケーション統合) を選択します。[アプリケーション統合] ページに、タブ付きのオプションが表示されます。

    3. [CAPTCHA 統合] を選択します。

    4. リストされている JavaScript 統合スクリプトタグをコピーして、統合で使用します。

    5. <head> セクションのアプリケーションページコードに、コピーしたスクリプトタグを挿入します。これにより、CAPTCHA パズルの設定および使用が可能になります。

      <head> <script type="text/javascript" src="integrationURL/jsapi.js" defer></script> </head>

      この <script> リストは defer 属性で設定されていますが、ページに別の動作が必要な場合は、設定を async に変更できます。

      また、CAPTCHA スクリプトは、インテリジェントな脅威に対応した統合のスクリプトがまだ存在しない場合は自動的にロードします。インテリジェントな脅威に対応した統合のスクリプトにより、クライアントアプリケーションは、ページをロードする際にバックグラウンドでトークンを自動的に取得し、CAPTCHA API の使用に必要なその他のトークン管理機能を提供します。

  2. (オプション) クライアントのトークンにドメイン設定を追加する – デフォルトでは、AWS WAF はトークンを作成するときに、ウェブ ACL に関連付けられたリソースのホストドメインを使用します。JavaScript API に追加のドメインを指定するには、「トークンで使用するドメインの提供」のガイダンスに従ってください。

  3. クライアントの暗号化された API キーを取得する – CAPTCHA API には、有効なクライアントドメインのリストを含む暗号化された API キーが必要です。AWS WAF は、このキーを使用して、統合で使用しているクライアントドメインが AWS WAF CAPTCHA の使用を承認されていることを確認します。API キーを生成するには、「JS CAPTCHA API の API キーの管理」のガイダンスに従ってください。

  4. CAPTCHA ウィジェットの実装をコーディングするrenderCaptcha() API コールを、ページ内の使用したい場所に実装します。この機能の設定および使用方法については、以下のセクション「CAPTCHA JavaScript API 仕様」と「CAPTCHA パズルをレンダリングする方法」を参照してください。

    CAPTCHA 実装は、インテリジェントな脅威に対応した統合 API と統合し、トークンの管理や AWS WAF トークンを使用するフェッチコールの実行を可能にします。これらの API の使用に関するガイダンスについては、「インテリジェントな脅威に対応した JavaScript API の使用」を参照してください。

  5. ウェブ ACL にトークン検証を追加する – クライアントで送信するウェブリクエスト内に有効な CAPTCHA トークンがないかチェックするルールを、ウェブ ACL に少なくとも 1 つ追加します。「AWS WAF で CAPTCHA と Challenge を使用する」の説明に従い、CAPTCHA ルールアクションを使用してチェックします。

    ウェブ ACL の追加により、保護されたエンドポイントに送信されるリクエストに、クライアント統合で取得したトークンが含まれていることを確認できます。有効で期限が切れていない CAPTCHA トークンを含むリクエストは、CAPTCHA ルールアクション検査に合格し、エンドユーザーに別の CAPTCHA パズルを提示することはありません。

JavaScript API を実装したら、CAPTCHA パズルの試行とソリューションの CloudWatch メトリクスを確認できます。メトリクスとディメンションの詳細については、アカウントメトリクスとディメンション を参照してください。