Google reCAPTCHA [v2 非表示 reCAPTCHA バッジ] を手動で実装する方法
reCAPTCHA v2 [非表示 reCAPTCHA バッジ] を実装する方法をご紹介します。
非表示 reCAPTCHA バッジは、「reCAPTCHA v2 Invisible」とも呼ばれます。
キーを取得
Googleアカウントにログインした状態で Google reCAPTCHA のサイトへアクセスします。
https://www.google.com/recaptcha/about/
「v3 Admin Console」をクリックします。
Admin consoleへ移動したら、新しくサイトを追加します。
・ラベル
任意の名前を入力します。(例:サイト名)
・reCAPTCHA タイプ
チャレンジ(v2)
非表示 reCAPTCHA バッジ
にチェックを入れます。
・ドメイン
reCAPTCHAを実装するサイトのドメイン入力します。
・Google Cloud Platform
以前にGoogle Cloud を使用したことがある場合は、以前使用したプロジェクト名、
以前にGoogle Cloud を使用したことがない場合は、自動でプロジェクト名が入ります。
「私は、Google Cloud Platform の利用規約、および適用されるサービスと API の利用規約に同意します。」にチェックを入れて「送信」をクリックします。
サイトキーとシ-クレットキーが発行されます。
次の項で使用するので控えておきましょう。
クライアントサイドの実装
reCAPTCHAスクリプトの読み込み
HTMLのセクションに以下のスクリプトタグを追加します。
コールバック関数の追加
フォームが送信されるときに呼び出されるJavaScriptのコールバック関数を追加します。
送信ボタンに属性を追加
“サイトキー” は取得したサイトキーに置き換えます。
data-size=”invisible” の指定は、v2の非表示 reCAPTCHA バッジ(v2 Invisible)を実装する場合に必要です。
【参考】g-recaptcha タグの属性と grecaptcha.render パラメータ
サーバーサイドの実装
ユーザーがreCAPTCHAのチャレンジに正しく回答したかどうかは、サーバー側でGoogleのreCAPTCHA APIを使用して検証する必要があります。
サーバー側で検証を行うことで、クライアントサイドだけでの改ざんを防ぎ、信頼性の高い認証が行えます。
“シークレットキー” は取得したサイトキーに置き換えます。
Admin Console で経過観察
実装後はAdmin Console で経過観察を行いましょう。
結果はすぐには反映されない場合もあるのでその場合は数日様子をみます。