Google reCAPTCHAのv2とv3の違いのお話

  • このエントリーをはてなブックマークに追加

Google reCAPTCHA(リキャプチャ)とはGoogleが提供している認証システムで、現在はv2とv3が用意されています。

なんとなく「v3ってv2の進化版でしょ?」という感じがするのですが、調べてみるとどうもそうとも言い切れないので、まとめてみました。

ちなみに無料で利用できますが大規模サイトやアクセス数の多いサイトはエンタープライズ版を利用する必要があるみたいです。

reCAPTCHAの登録について

reCAPTHCAを使用登録する前にGoogleのサービスですのでGoogleアカウントが必要です。
事前に作成取得しておきましょう。

取得後に、reCAPTCHAの管理画面からサイトを登録します。

https://www.google.com/recaptcha/admin/create

登録はドメイン単位ですが、複数のドメインを登録できるので、テスト環境などがある場合は同じ情報で利用できます。


ラベル サイトを識別するための名前なのでドメインかサイト名を設定しましょう
reCAPTCHAタイプ reCAPTCHAのタイプを選択します v2かv3のどちらかを選択できます。
ドメイン 利用するドメインを入力します。(複数登録可能)
オーナー Googleアカウントのメールアドレスを入れると、そのアカウントでも利用することができます。最初に設定してあとからクライアントのアカウントに切り替えることも可能

その後「reCAPTCHA 利用条件に同意する」にチェックを入れて「送信」を押すと登録が完了します。
登録できると「reCAPTCHAのキー」が発行されますので、それぞれ保存してください。
  • サイトキー … HTMLに仕込むキーとなります。
  • シークレットキー … サイトとreCAPTCHA間の通信で使用します。こちらはサイト上に公開しないでください。
以上でreCAPTCHAの登録が完了しました。

結局reCAPTCHA v3とreCAPTCHA v2、どっちを使えばいいの?

先ほどの登録でreCAPTCHA v2 か v3を選択してもらいましたが、じゃあどちらがいいんだろうという話になります。

決してv3 > v2 になるわけではなく、用途によって使い分けが必要だと思います。

reCAPTCHA v2

reCAPTCHA v2はユーザー側にアクションを行ってもらうことで自分はロボット(コレではない)ではないよと証明してもらう認証方式です。


利点としてはユーザーにアクションを行ってもらうことで、かなり高い精度で判定ができます。
またユーザーにreCAPTCHAの存在を意識させることで「お、このサイトはちゃんとしてるな」と思わせることができるかもしれません。

欠点としてはわざわざ「ロボットではありません」にチェックをさせることの煩わしさがあります。

また、怪しいユーザーの場合は画像による認証があったりするので、特に画面の小さなスマホの場合だと、押しミスによる認証失敗が多発して離脱されるケースもあります。

reCAPTCHA v3

reCAPCHA v3はユーザー側からアクションを起こしてもらうことはなく、ユーザーがサイトにアクセスした時点でユーザーの環境や行動パターンによりスコアが自動的に設定され、そのスコアによって許可するかどうか判定します。


導入するとブラウザの右端に表示され、画面上にreCAPTCHAのチェックボックスは存在しません。

利点としてはユーザーからすると何もアクションがなく自動的に判定されるため、チェックを入れるなどのアクションや認証されていることを自覚することなく進めるのでストレスがないと思います。
特にスマホの場合はチェックボックスを押すのも意外と大変なのでスマホサイトであればv3でいいかもしれません。

欠点としては先ほどのスコアが低い場合はbotと判定され、そこから先に進めなく、しかもどうすればよいかのフォローができないため、強制的に離脱させられる可能性があります。

スコアに関しては細かな判定基準は出ていないのですが、「1.0から0.0までの数値が返ってきて1.0に近いほど人間であろう、0.0に近いほどbotであろう」という事らしいです。

このスコアの閾値(判定基準)は設定で行えるので、低くして間口を広げるか、高くしてセキュリティを高めるかの判断は難しいです。

じゃあどちらが便利?

これに関しては用途とリスクをどう取るかということになりそうです。

個人的にはreCAPTCHAのスコアに対する理解とご納得をしたいただく場合はv3を、それ以外は基本的にv2を導入した方がよいかなと思います。

また、スマホサイトの場合は入力がシンプルなv3を、PCサイトの場合はv2でという使い分けもいいかもしれません。

いずれにせよGoogleもv2を無くす予定はなさそうなので、しばらくは併用していくのがよいかなと思います。

 

執筆者:松本[ エンジニア ]

関連記事

プログラミング

【phpdotenv】PHPで環境変数を取り扱うお話

PHPでサーバーの環境ごとに設定ファイルを用意する場合、config.phpなどのファイルにデータベースの接続情報やAPIのキーなどをdefineで登録すると思います。 これは昔からある一般的なやり方ですが、例えば「ローカル環境やテスト環境と本番環境で情報を出し分けたい」「GitHubやSubversionなどに接続情報を管理されたくない」ということがあるかと思います。 Linuxの場合は「.env」でユーザーごとの情報をあらかじめ設定することが可能ですが、PHPだとデフォル […]

Webサービス

【CAPTCHA系】reCAPTCHAの代替サービスを紹介するお話

みなさん、reCAPTCHAを使ってますか? CAPTCHAと呼ばれる機能は問い合わせフォームやログインフォームなどいわゆるbot系対策として有効で、その中でもreCAPTCHAは無料かつ簡単に導入できるたため、様々な場所で使われてます。 目次1 2024年4月から実質有料化?2 他にないのだろうか?3 アカウントを作る4 PHPでの実装5 最後に 2024年4月から実質有料化? しかし、2024年4月から今まで100万リクエストまで無料だったのが、1アカウント合計1万リクエ […]

Webサイト制作

Webアクセシビリティの基本を学ぼう!

近年Webサイト制作時に求められる『Webアクセシビリティ』。 正直なんだかよくわからない、ややこしそうだなあと思う方も多いと思います。 自分も勉強中ではありますが、今回は対応しやすそうな内容をなるべくわかりやすくまとめてみました。 一緒にWebアクセシビリティについて学んでいきましょう。 目次1 そもそもWebアクセシビリティってなに?2 基本的な対応内容2.1 色のコントラストをはっきりさせよう2.2 文字サイズを変更できるようにしよう2.3 できるだけテキストベースを心 […]

株式会社8bit (エイトビット)

東京都目黒区でWebサイト制作、Webシステム開発などを行っております。
コーポレートサイトやWebサービスの企画・提案を得意としており、自社での経験を元にアイデアをカタチにするお手伝いをさせていただいております。

Web制作に関するご相談はお気軽にどうぞ

弊社に制作をご依頼いただく際の費用感をご確認いただける、
見積りシミュレーションをご用意いたしました。