インターネット上でフォームを送信する際やアカウントを作成する際、「私はロボットではありません」というチェックボックスや、歪んだ文字や画像の選択を求められることがあるかと思います。
これが、CAPTCHA(キャプチャ)と呼ばれる仕組みです。その中でもreCAPTCHA(リキャプチャ)は、Google が提供する無料のサービスで、ウェブサイトのセキュリティを強化し、スパムや悪意のある自動化された攻撃から保護するために使用されます。
本記事では、reCAPTCHA の基本的な仕組みや目的についてわかりやすく解説します。

CAPTCHA の基本と歴史

まず、CAPTCHA とは “Completely Automated Public Turing test to tell Computers and Humans Apart” の頭文字を取ったもので、日本語では「コンピューターと人間を区別するための完全に自動化されたチューリングテスト」と訳されます。
要するに、ウェブ上でアクセスを試みる相手が人間かボット(自動化されたプログラム)かを区別するためのテストです。

CAPTCHA は当初、歪んだ文字や数字を表示して、それを正しく入力することで人間であることを証明する方法が一般的でした。しかし、機械学習技術の進化により、この手法はボットによって解読されるようになり、さらに精度の高い方法が求められるようになりました。

reCAPTCHA の登場と進化

Google が提供する reCAPTCHA は、スパム防止のために CAPTCHA を改良したものであり、現在ではいくつかのバージョンが存在します。各バージョンの特徴と進化を見てみましょう。

reCAPTCHA

▼reCAPTCHA
https://www.google.com/recaptcha/about

1. reCAPTCHA v1
初期の reCAPTCHA は、スキャンした本や古い文献からの文字を使っていました。これらの文字は OCR(光学文字認識)技術では正確に読み取れないものであり、人間が正しく入力することで CAPTCHA の目的を達成するだけでなく、同時に古い書籍やアーカイブのデジタル化にも役立てられていました。

2. reCAPTCHA v2
2014 年にリリースされた reCAPTCHA v2 は、ユーザーが「私はロボットではありません」というチェックボックスをクリックするだけで検証が完了する仕組みを採用しました。これは、ユーザーの行動(クリックの仕方やマウスの動き)を分析することで、人間とボットを区別する仕組みです。また、追加の検証として、画像を選択するタスク(例えば、「すべての交通信号を選択してください」)が表示される場合もあります。

3. reCAPTCHA v3
reCAPTCHA v3 は、従来の「テストを行う」という概念を捨て、ユーザーに何も入力させずに人間かどうかを判断する新しいアプローチを採用しました。v3 では、ユーザーの行動(ページの移動やクリックの仕方など)に基づいてスコアが付与され、このスコアに基づいてサイト側がユーザーのアクセスを許可するかどうかを判断します。

4. Invisible reCAPTCHA
Invisible reCAPTCHA は、ユーザーに CAPTCHA チェックを意識させずにセキュリティを提供する手法です。ユーザーが特定の操作(例えば、フォームの送信)を行った際に自動的に検証が行われ、疑わしい場合のみ追加の認証が要求されます。これにより、ユーザーエクスペリエンスを損なわずにセキュリティを確保できます。

reCAPTCHA の目的

reCAPTCHA の主な目的は以下の 3 つです。

  1. スパム防止
    reCAPTCHA は、悪意のあるボットが自動的にスパムメールを送信したり、コメントを投稿したりするのを防ぎます。例えば、ウェブサイトの問い合わせフォームに reCAPTCHA を導入することで、スパムメールの量を大幅に減らすことができます。
  2. セキュリティ強化
    サイトに対する不正アクセスやブルートフォース攻撃(パスワードを総当たりで試す攻撃)から保護する役割も果たします。CAPTCHA によって自動化されたプログラムによる攻撃を防ぎ、サイトの安全性を向上させることができます。
  3. ユーザー体験の向上
    reCAPTCHA v3 や Invisible reCAPTCHA は、ユーザーに対して見えない形でセキュリティを提供するため、ユーザーエクスペリエンスを向上させます。これにより、煩わしい認証プロセスを最小限に抑えながら、サイトの安全性を確保できます。

reCAPTCHA 導入のメリットとデメリット

■メリット

  • スパムや悪意のあるボットからウェブサイトを効果的に保護できる。
  • Invisible reCAPTCHA や v3 によって、ユーザーに負担をかけずにセキュリティを確保できる。
  • Google の技術を活用することで、常に最新のセキュリティ対策が提供される。

■デメリット

  • CAPTCHA の解答が難しいと、正当なユーザーでも不便を感じる場合がある。
  • 一部のユーザーにとって、画像選択タスクは煩わしく感じられることがある。

簡単に reCAPTCHA 機能付きフォームを作成する方法

reCAPTCHA を導入するには、通常、Google のサイトに登録して API キーを取得し、HTML や JavaScript コードを調整する必要があります。しかし、この手順は初心者にとってハードルが高く感じられるかもしれません。そんなときに便利なのが FormMailer です。

FormMailer は、プログラミングの知識がなくても簡単にウェブフォームを作成し、さらに reCAPTCHA 機能を追加できるツールです。以下に、FormMailer を利用して reCAPTCHA 機能付きフォームを作成する方法の概要を紹介します。

  1. フォームの作成
    FormMailer のアカウントにログインし、直感的なフォームビルダーを使って必要なフィールドを追加します。名前、メールアドレス、テキストなど、一般的な項目はドラッグ&ドロップで簡単に設定できます。
  2. reCAPTCHA 機能の有効化
    フォームの設定画面で、reCAPTCHA オプションを有効にするだけで、スパム防止機能が自動的に追加されます。面倒なコードの編集や API キーの管理を気にする必要はありません。
  3. フォームの公開
    フォームを作成したらあとは公開ボタンを押すだけです。あとはユーザーがフォームにアクセスする際に、reCAPTCHA による保護が自動的に適用されます。

FormMailer を利用することで、手軽にセキュアなフォームを作成できるため、初心者でも安心して使うことができます。reCAPTCHA の導入でスパムや不正アクセスのリスクを軽減しつつ、ユーザーエクスペリエンスを損なわない方法を提供しているのが大きな特徴です。

FormMailer

▼FormMailer
https://www.form-mailer.jp

まとめ

reCAPTCHA は、ウェブサイトのセキュリティを高めるための重要なツールであり、スパム防止や不正アクセスから保護するのに役立ちます。
バージョンごとの特徴を理解し、サイトのニーズに合った設定を行うことで、セキュリティとユーザビリティのバランスを取ることが可能です。

▼IDS/IPSとは?サーバーを攻撃から守るセキュリティシステムを説明します
https://blog.form-mailer.jp/useful/what_ais_ids_ips/

▼フォームを安全に“チーム”で運用!チームメンバー管理機能で社内外の共同作業もスムーズに
https://blog.form-mailer.jp/know-how/team_collaboration/

フォームメーラー