- FrontendからreCAPTCHAで判定した結果をGoogleに送信
- Googleから判定結果を照会するためのreCAPTCHAトークンが発行される
- 発行されたreCAPTCHAトークンをBackendに送信
- BackendでGoogleにreCAPTCHAトークンを送信し結果を照会
- Googleから取得した判定結果を利用して、reCAPTCHAのエラー処理または処理を続行する
reCAPTCHA認証とは
wikipedia
reCAPTCHA(リキャプチャ)とは、ウェブサイトの制限エリアへのアクセスを試みるボットからサイトを防御するためCAPTCHAを利用するのと同時に、そのCAPTCHAに対する返答を紙の本のデジタル化に活かすシステムである。
ボットと呼ばれるアクセスを検知して防御する仕組みです。
ボットによる不正利用の例
- ログインを行う画面で、ユーザーID、パスワードをランダムに入力してログインできるか試すのを、自動的に大量に行う
- 口コミなどの評価を故意に上げ下げする為など、存在しない評価コメントを自動的に投稿する
- SNSで、悪用目的に作成したアカウントで友達申請を、自動的に行う
システム導入するときにやること
- reCAPTCHAの利用登録
- FrontendにreCAPTCHAが提供するスクリプト、判定処理、ボタンを埋め込む
- reCAPTCHA v3 -> https://developers.google.com/recaptcha/docs/v3
- reCAPTCHA v2 -> https://developers.google.com/recaptcha/docs/display
- reCAPTCHA v2 -> https://developers.google.com/recaptcha/docs/invisible
- BackendにreCAPTCHAトークン判定処理(WebAPI呼び出し、結果判定)を追加
reCAPTCHAの種類
- reCAPTCHA v3
- サイト利用者に、reCAPTCHAの判定(文字入力やタイル選択)を求めません
- カーソル移動などのサイト操作情報をGoogleに送信しボット判定を行います
- reCAPTCHA v2
- チェックボックスタイプ
- サイト利用者に、「ロボットではありません」のチェックボックスの操作と、ボットの疑いがあると判断した場合に、タイル選択を求めます
- Googleに送信する情報は、タイル選択結果などの限られた情報です
- バッチタイプ
- サイト利用者に、ボットの疑いがあると判断した場合に、タイル選択を求めます
- Googleに送信する情報は、タイル選択結果などの限られた情報です
- チェックボックスタイプ