reCAPTCHAについて
reCAPTCHAは、Webフォームなどに登録する際、botなどによる悪質なアクセスからWebサイトを守るための機能です。フォームに登録する際、「私はロボットではありません」というチェックボックスをよく見かけると思いますが、これがreCAPTCHAの仕組みの一部です。
##reCAPTCHAのバージョン一覧
reCAPTCHAは現在、v3まで公開されています。botの攻撃に悩まされているサイト運用者へのツールとしての「CAPTCHA」機能と、その判定データを有効活用するという意味を込めて「reCAPTCHA」という名前が採用されました。v1はbotではないと判断するための文字認証が複雑化し、人間でも読み取ることが難しくなったため、提供は終了しています。
reCAPTCHA v1
reCAPTCHA v1は、歪んだ英数字をユーザーに提示し、入力させるものです。一昔前までは、「botが歪んだ文字を認識するのは難しいだろう」と言われていましたが、最近はbotの性能が上がったため、reCAPTCHA v1は破られるようになった為、現在では非公開となっています。
reCAPTCHA v2
reCAPTCHA v2はチェックボックスをクリックした際に、BOTによるアクセスの可能性がある場合、お題に出されている画像に当てはまる信号や車を選択して認証します。
reCAPTCHA v2 invisible
reCAPTCHA v2 invisibleは、reCAPTCHA v2から「私はロボットではありません」というチェックボックスを無くしたものです。reCAPTCHA v2 invisibleは、invisible(目に見えない)という名前の通り、ユーザーに「reCAPTCHAがあるな」と意識させない作りになっています。
reCAPTCHA v2 invisibleの挙動は、ユーザーが送信ボタンを押した際、BOTによるアクセスの可能性がある場合、v2同様パネルを選択しての認証を行います。
reCAPTCHA v3
見た感じはinvisibleと変わりませんが、reCAPTCHA v3は最新版のreCAPTCHAです。reCAPTCHA v3は、ユーザーが人間かどうかを判断するために、ユーザーに何らかのアクションを求めることはありません。つまり、v2のようなパネルが表示され選択することが必要なくなります。
機械学習によってreCAPTCHA v3は、ユーザーがbotか人間かを自動で判断し、reCAPTCHA v3は、人間とbotのWebページ上の行動を機械的に学習し、人間のパターンとbotのパターンを判別しています。
reCAPTCHA v3は、ユーザービリティを一切損なうことなく、botを検知できます。そのため、特に理由がない限り、reCAPTCHA v3の導入をおすすめします。