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を無くす予定はなさそうなので、しばらくは併用していくのがよいかなと思います。

 

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

関連記事

プログラミング

iOSアプリでREST APIを使うお話

前回のREST APIをiOSアプリでも使うお話です。 こちらも割と簡単ですが、Kotlin=Javaに比べると型に関してはシビアです。 目次1 インストール1.1 CocoaPodsでインストールする。2 使い方2.1 GETの場合2.2 POSTの場合 インストール CocoaPodsでインストールする。 ライブラリが対応していれば簡単ですね。 その後、 これでインストール完了です。 使い方 こちらもAndroidの時と同じような感じでできますが、今回はModelでデータ […]

プログラミング

AndroidでREST APIを取り扱うお話

前回のお話でREST APIを気軽に確認する内容を書きましたが、今回は実際にスマホアプリ内でREST APIのやりとりを行う方法をまとめます。 以前はOkHttpというライブラリを使うことが多く、現在もそれが主流になりますが、今回はkotlinで使えるRetrofitと呼ばれるライブラリを使っていきましょう 目次1 インストール2 使い方2.1 GETの場合2.2 POSTの場合2.3 PUT通信の場合3 まとめ インストール 通信するので当然アプリ側にインターネット接続の設 […]

スマホアプリ

無音カメラが国内ではリリースできなかったお話

みなさん、無音カメラ(Silent Camera)で撮影してますか? いきなりグレーゾーンの発言ぽくなりましたが、App StoreもGoogle Playにも無音カメラは割とたくさんリリースされています。 そこで弊社でもその波(!?)に乗り、無音カメラのリリースを検討しました。 目次1 実際どうなった?2 リジェクト理由1 スパイウェアの扱いになった3 ちなみにGoogle Playでは?4 終わりに5 参考 実際どうなった? 結果から言うと、リリースはできませんでした。 […]

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

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

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

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