ページ内のreCAPTCHAアクションを見つける

著者:solvethree読了時間:1分

ページの reCAPTCHA 実行呼び出し、または保護対象の要素の data-action 属性からアクションを見つけてください。それらしいデフォルト値ではなく、連携する操作に対応した値を使用してください。

このページの内容

ページが実際に呼び出すアクションを確認する

  1. 1.

    該当するボタンやフォームを調べる

    ブラウザーの開発者ツールを開き、reCAPTCHA に紐づくボタンやフォームを調べます。data-action 属性を探してください。その値が、その要素のアクション名です。

  2. 2.

    実行呼び出しを見つける

    ページの JavaScript で grecaptcha.enterprise.execute または grecaptcha.execute を検索します。呼び出しに渡されるオプションの action 値を確認してください。

  3. 3.

    必要な操作の処理をたどる

    ページは操作ごとに異なるアクションを呼び出すことがあります。最初に見つけたアクションをコピーせず、該当するボタンやフォームのハンドラーをたどってください。アクションが変数から取得される場合は、デバッガーのブレークポイントを使い、ハンドラーの実行時にその値を確認してください。

ページのコード · 実際のaction値を読み取る
// Classic v3:
grecaptcha.execute('PUBLIC_SITE_KEY', { action: 'login' });

// Enterprise score-based integration:
grecaptcha.enterprise.execute('PUBLIC_SITE_KEY', { action: 'login' });

// Here the action is login. Your page may use a different value.

この例のアクションは login です。login や submit といった名前は例であり、推測して使う値ではありません。ウェブサイトのバックエンドは期待するアクションを検証できるため、別のアクション用に生成されたトークンではリクエストが受け入れられない場合があります。

ホスト名とアクションを solvethree に渡す

site には対象ページの完全な URL ではなくホスト名を設定し、action には見つけた値をそのまま設定してください。reCAPTCHA リクエストには、proxy または proxyCandidates のいずれか一方も必須です。type や url フィールドは追加しないでください。

そのホスト名について、ワークスペースで利用できる有効なプロファイルがすでに存在している必要があります。site と action を指定してもプロファイルは作成されません。未設定の場合は、サイトプロファイルの設定を参照してください。

ウェブサイト所有者の検証用シークレットは不要です。公開サイトキーはウェブサイトの Google 連携を識別するもので、検証用シークレットはそのサーバー側に置くものです。どちらも solvethree ワークスペースの API キーの代わりにはなりません。この API キーは API リクエストの認証に使用され、サーバー側でのみ保持する必要があります。

最初のタスクを実行しましょう。

$5のワークスペースクレジットで始められます。

ワークスペースを作成
ページ内のreCAPTCHAアクションを見つける · solvethree