reCAPTCHA(リキャプチャ)は、ウェブサイトをロボット(ボット)からの悪質な攻撃やスパムから守るためのシステムです。
お問い合わせフォームや会員登録ページなどで、「私はロボットではありません」というチェックボックスや、歪んだ文字や画像を選ばせるテストを見たことがあると思いますが、あれがreCAPTCHAの代表的な形です。
初めての方にも分かりやすく、その仕組みと役割をご説明します。
reCAPTCHAは、Googleが提供している無料のセキュリティサービスです。
reCAPTCHA(リキャプチャ)とは?
役割:人間かボットかを区別する「門番」
ウェブサイトには、スパムメールを大量に送りつける、不正にアカウントを大量に作成する、あるいはパスワードを総当たりで試す(ブルートフォース攻撃)といった、悪意のある自動プログラム(ボット)が常にアクセスを試みています。
reCAPTCHAの主な役割は、ウェブサイトにアクセスしているのが「生身の人間」なのか、それとも「悪質なボット」なのかを効果的に判別し、ボットのアクセスを遮断することです。
仕組み:進化する認証方法
reCAPTCHAは、バージョンアップによって、その認証方法が進化してきました。
| バージョン | 代表的な認証方法 | ユーザーの負担 | 特徴 |
| v2 | 「私はロボットではありません」のチェックボックス(画像認証に進むことが多い) | やや高い | チェックボックスをクリックする動作や、クリック前後のマウスの動きなどを分析します。ボットの可能性が高い場合に、追加で「信号機が写っている画像をすべて選んでください」といった画像認証が出題されます。 |
| v3 | ユーザーによる操作は基本的に不要 | 非常に低い | ユーザーがウェブサイト内で行う行動(カーソルの動き、クリックのパターン、滞在時間など)を裏側で分析し、そのユーザーのスコア(人間らしさ)を判定します。ユーザーにはほとんど認証操作を求めません。 |
メリット
- スパム対策: お問い合わせフォームへの意味不明な投稿や、コメント欄への悪質な宣伝を大幅に減らせます。
- セキュリティ強化: 不正ログインや、悪質なアカウントの大量作成を防げます。
- 無料: 基本的な機能は無料で利用できます(高度な機能を持つEnterprise版は有料です)。
🔑 reCAPTCHA v3 キーの取得手順
reCAPTCHAを利用するには、Googleにあなたのウェブサイトを登録し、認証に必要な「サイトキー(Site Key)」と「シークレットキー(Secret Key)」の2つのキーを取得する必要があります。
ステップ 1: Google reCAPTCHA 登録ページへアクセス
まず、GoogleのreCAPTCHA管理画面にアクセスします。
ステップ 2: サイト情報の登録
アクセスすると、「新規サイトを登録」の画面が表示されます。以下の項目を入力してください。
① ラベル(Label)
- 入力内容: あなたのウェブサイトを識別しやすい名前を自由に入力します。(例:【予約王】公式サイト、〇〇サロン予約フォーム)
② reCAPTCHA のタイプ(reCAPTCHA type)
- 選択内容: セキュリティとユーザー体験の観点から、必ず「reCAPTCHA v3」を選択してください。
- 補足: reCAPTCHA v3は、ユーザーに「画像認証」などの操作を求めず、裏側で人間かどうかを判定します。
③ ドメイン(Domains)
- 入力内容:本システムを導入するウェブサイトのドメイン名(URLの
https://やwww.を除いた部分)を入力します。- (例:
yoyaku-oh.com、my-salon.jp) - サブドメイン(例:
dev.example.com)がある場合は、必要に応じてすべて入力します。
- (例:
④ オーナー(Owners)
- 確認内容: 通常、ログインしているGoogleアカウントのメールアドレスが自動的に表示されます。問題なければそのままで結構です。
⑤ 利用条件に同意する(Accept the reCAPTCHA Terms of Service)
- チェック: チェックボックスにチェックを入れます。
ステップ 3: 登録の完了とキーの発行
すべての入力が終わったら、画面下部の「送信」ボタンをクリックします。
✨ 取得した 2 つのキーについて
「送信」ボタンをクリックすると、以下の2つのキーが発行され、画面に表示されます。
サイトキー(Site Key)
- 用途: ウェブサイトのHTMLコード内に埋め込むために使用します。
- 役割: サイトを訪問したユーザーのブラウザにreCAPTCHAの機能(スクリプト)を読み込ませる役割を持ちます。公開しても問題ありません。
シークレットキー(Secret Key)
- 用途: サーバー側(システム本体のプログラム)で使用します。
- 役割: サイトキーで収集したユーザーの行動データをGoogleのサーバーに送信し、「本当に人間か?」という最終的な判定結果を受け取るために使用します。絶対に公開してはいけません。
🔗 公式URL(参考)
reCAPTCHAはGoogleが提供しているサービスのため、Google Cloudのドキュメントや公式サイトを参照できます。
- reCAPTCHA 公式情報(Google for Developers)
- reCAPTCHA ドキュメント