ウェブメディアやウェブサービスを運営している方々は、botやスパムのトラフィックに対処するために、
reCAPTCHAを活用しているのではないでしょうか?
reCAPTCHA(リキャプチャ)は、ウェブサイトの制限された領域への不正アクセスを試みるボットから保護するためにCAPTCHAを利用し、その回答を紙の書籍のデジタル化に役立てる仕組みです。
オリジナルは2007年にカーネギーメロン大学ピッツバーグ本校で開発され、
2009年9月16日にGoogleが買収しました。
4月1日からreCAPTCHAが完全有料化されるとのことですので、
その代替としてCloud Flare Turnstileをご紹介いたします。
reCAPTCHAとは?
reCAPTCHAは、ウェブサイトの制限エリアでbotやスパムの侵入を防ぐバリデーションサービスです。
このサービスは、ユーザー認証が必要な場所で広く使用されています。
reCAPTCHAの起源は2007年にさかのぼります。
カーネギーメロン大学ピッツバーグ本校で、Luis von Ahnら6名の研究者が開発しました。
当初は、画像認証システムの回答データを電子書籍化するプログラムとして考案されました。
CAPTCHAは「Completely Automated Public Turing test to tell Computers and Humans Apart」の略称です。
これは「コンピュータと人間を区別する完全に自動化された公開チューリングテスト」を意味します。
reCAPTCHAの主な特徴は以下の3つです。
- 日本では画像認証と呼ばれている
- 現在のバージョンは行動分析
- reCPATCHAは100万回まで無料だった
それでは、各特徴について詳しく見ていきましょう。
日本では画像認証と呼ばれている
CAPTCHAの初期バージョンは、日本で「画像認証」として知られています。
この方式では、ユーザーに特定の画像を読み取って入力することを求めます。
画像認証は、以下のような特徴を持っています。
- 人間にとっては比較的簡単に解読できる
- コンピュータにとっては解読が困難
- ウェブサイトのセキュリティを向上させる効果的な方法
この方式は、人間とコンピュータを区別する上で長年有効に機能してきました。
現在のバージョンは行動分析
GoogleによるreCAPTCHAの買収後、システムは大きく進化しました。
現在のV3バージョンでは、より洗練された行動分析技術が採用されています。
この新しいアプローチには以下のような特徴があります。
- 訪問者のIPアドレスやクッキーの分析
- サイト内でのユーザーの動作パターンの解析
- ユーザーの行動に基づくスコアリングシステム
一定のスコアを獲得したユーザーは、人間として認識されます。
この方式により、ユーザーエクスペリエンスを損なうことなく、効果的なセキュリティが実現されています。
画像認証する手間がかからないので便利ですね。
reCPATCHAは100万回まで無料だった
reCAPTCHAは以前、リクエスト/チャレンジベースで100万回まで無料で利用できました。
しかし、現在は料金体系が変更されています。
それに関しては後ほど説明していきますね。
reCPATCHAが2024年4月1日から有料化された
GoogleはreCAPTCHAの料金体系を2024年4月1日から変更しました。
この変更により、既存の機能が拡張され、新たな価格オプションが提供されます。
個人ユーザーや小規模サイト運営者にとって、大きな影響があるでしょう。
Googleからの通知メールによると、主な変更点は以下の3つです。
- reCAPTCHA Enterpriseの価格引き下げと無料枠の縮小
- reCAPTCHA Standardの新設
- 無料版reCAPTCHA Liteへの名称変更と制限強化
それでは、各変更点について詳しく見ていきましょう。
reCAPTCHA Enterpriseの価格引き下げと無料枠の縮小
reCAPTCHA Enterpriseは、大幅な価格引き下げが行われます。
しかし、無料枠も大きく縮小されています。
具体的な変更点は以下の通りです。
- 評価1,000件あたりの価格が40ドルから1ドルに引き下げ
- 月間無料枠が100万件から10,000件に縮小
- トランザクション保護機能の組み込み
この変更により、大規模サイトにとってはコスト削減になる可能性があります。
しかし、中小規模のサイトにとっては、無料枠の縮小が大きな影響を与えるでしょう。
reCAPTCHA Standardの新設
新たにreCAPTCHA Standardが追加されます。
これは中規模サイト向けの新しいオプションです。
reCAPTCHA Standardの特徴は以下の通りです。
- 月額8ドルで利用可能
- 1か月あたり最大100,000件の評価が可能
- ボット保護機能を提供
この新オプションは、Enterpriseほどの機能は必要ないが、無料版では不十分というユーザーにとって魅力的かもしれません。
無料版reCAPTCHA Liteの制限強化
無料版のreCAPTCHAは、名称が変更されるとともに大幅な制限強化が行われます。
主な変更点は以下の通りです。
- 名称が「reCAPTCHA Lite」に変更
- 月間評価可能件数が100万件から10,000件に減少
この変更は、個人ブログや小規模サイトにとって大きな影響があります。
多くのユーザーが、有料版への移行を検討する必要に迫られるでしょう。
23万回チャレンジがあった場合のコスト
仮に、23万回リクエストがあった場合を想定して計算してみましょう。
具体的な試算は以下の通りです。
- 90日間で23.3万回のチャレンジは、1か月あたり約7.8万回に相当
- 新しい無料枠(月1万回)では全く足りない
ということで、Enterprise版を利用した場合のコスト計算をしてみます。
- 7.8万回 – 1万回 = 6.8万回
- 6.8万回 ÷ 1000 × 1ドル = 68ドル
- 68ドル ≈ 10,050円(現在の為替レート)
この試算から、個人や小規模サイト運営者にとって大きな負担になることが分かります。
Enterprise版を使用すると、月額約1万円のコストがかかります。
Standard版(月額8ドル、10万チャレンジまで)でも、1200~1500円程度の費用が発生します。
さらに、サイトの成長に伴いコストが増加する可能性もあります。
この価格変更により、多くの個人ユーザーや小規模サイト運営者は、reCAPTCHAの利用を再考せざるを得なくなるでしょう。
代替手段を探すか、セキュリティ対策の見直しが必要になる可能性が高いです。
代替品はCloudflare Turnstileで十分
Cloudflare Turnstileは、reCAPTCHAの強力な代替品として注目を集めています。
DDoS攻撃からウェブサイトを守りつつ、高速なコンテンツ配信を実現することで知られるインターネットインフラ企業Cloudflareが開発したこのシステムは、より賢明なCAPTCHAとして展開されています。
Turnstileという名前は、回転式の改札を意味します。
この名前は、遊園地や動物園、博物館、海外の地下鉄の改札などで見られる、一人ずつ通過を許可する金属のバーが回転する仕組みに由来しています。
Cloudflare Turnstileが十分な代替品である根拠は、以下の3点です。
- 煩わしくない
- 検証までがスムーズ
- 無料で10個のウィジェットまで無制限で使える
それでは、各根拠について詳しく見ていきましょう。
煩わしくない
Cloudflare Turnstileは、ユーザーにとって煩わしさを大幅に軽減しています。
このシステムの特徴は以下の通りです。
- 古いCAPTCHAのようなテキスト認証や画像認証が不要
- reCAPTCHA v3の行動分析に近い動作
- 人間の操作を示すシグナルを判断基準として使用
- 非対話型で、ユーザーにチャレンジを求めない
- セッションデータを元に検証を実行
これらの特徴により、ユーザーは煩わしい認証プロセスを経ることなく、スムーズにウェブサイトを利用できます。
要するにユーザが行動する必要がないってことです。
検証までがスムーズ
Cloudflare Turnstileは、従来のCAPTCHAシステムの問題点を解決しています。
このシステムの利点は以下の通りです。
- 従来のCAPTCHAで発生していた平均32秒の時間の無駄を解消
- 身体的/認知的な問題を抱えるユーザーにとってのアクセシビリティの問題を改善
- Cookieなどを使用することによるプライバシーの問題に対応
- Private Access Token(PAT)対応デバイスでさらなるプライバシー保護を実現
- 認証時間を約1秒に短縮
これらの改善により、ユーザーエクスペリエンスが大幅に向上しています。
macOSおよびiOSの最新バージョンを搭載するデバイスでは、すでにPATをサポートしています。
無料で10個のウィジェットまで無制限で使える
Cloudflare Turnstileの料金体系は、多くのウェブサイト運営者にとって魅力的です。
主な特徴は以下の通りです。
- 無料で最大10個のウィジェットを利用可能
- チャレンジ回数に制限なし
- 1つのウィジェットに複数のドメインを登録可能
- 実質的にreCAPTCHAと同じように無料で利用可能
この料金体系により、特に個人や小規模なウェブサイト運営者にとって、コスト面での負担が軽減されます。
Cloudflare Turnstileは、セキュリティ、ユーザビリティ、コストの面で優れた選択肢となっています。
同社によれば、Turnstileは現時点でCAPTCHAと同程度の精度を持ち、ウェブサイト管理者側の対応も簡単で、置き換え作業は数分で完了できるとされています。
多くのウェブサイト運営者にとって、reCAPTCHAの代替品として十分な機能を提供していると言えるでしょう。
Cloudflare Turnstileの導入方法
Cloudflare Turnstileを実際に導入または移行する手順についてご説明いたしましょう。
最も簡単な方法はプラグインを利用することですが、reCAPTCHAやhCAPTCHAからの移行手順も後ほどご紹介させていただきます。
プラグイン【Simple Cloudflare Turnstile】
Simple Cloudflare Turnstileは、WordPressにTurnstileを導入するためのプラグインとして、最も多くの有効インストール数を誇っているんです。
このプラグインをインストールして有効化すると、設定ページが表示されます。
こちらに、Cloudflare TurnstileのAPIキーを入力する必要があるんです。
APIキー入手
必要なキーは「Cloudflare Turnstileにサインアップ」から入手できます。
\ CAPTCHAの回数制限から解き放たれよう! /
アカウント作成
Cloudflareのアカウントがなければ、この場で作成しましょう。
「サインアップ」のリンクをクリックしましょう
「サインアップ」のリンクをクリックし、メールアドレスとパスワード(自分で決める)を入れて「サインアップ」ボタンをクリックするんです。
入力したメールアドレス宛に認証用のメールが届きますよ。
サイト登録
メニューのTurnstileをクリックし、「サイトを追加」をクリックしましょう。
ウェブサイトの名前は、自分を識別するためのものですので、わかりやすい名前を入力してくださいね。
日本語でも問題ありません。
次に、ドメインを入力します。
URLではなく、ドメインですよ。
入力したら、その下に表示される「xxxxx (カスタムドメインを追加する)」ボタンをクリックしてください。
ウィジェットモードを使用する際は、「管理対象」を選択することをおすすめします。
サイトの訪問者が怪しい場合は、人々にアクションを促すモードだと考えられるんです。
「非インタラクティブ」モードでは、アクションを促すことはなく、代わりにチェック中であることを示すバーが表示されますよ。
「不可視」モードは何も表示されず、完全に裏で処理されるんです。
ウィジェットモードを選択したら「作成」をクリックしましょう。
サイトキーとシークレットキーが表示されます。
もし画面を閉じてしまった場合は、サイトの一覧を表示し、「Settings」のリンクをクリックすると、サイトキーなどの画面が表示されます。
APIキーの入力
Simple Cloudflare Turnstileプラグインの設定画面に、先ほど取得したサイトキーとシークレットキーを入力してくださいね。
Turnstileを使用するフォーム(画面)を選択します。
通常、すべてをチェックする必要があります。
また、他の対応プラグインがインストールされている場合、それらも表示されるんです。
選択が終わったら、「変更を保存」ボタンをクリックしましょう。
その後、「API応答テスト→」ボタンを押します。
正常に動作する場合、「TurnstileはこれらのAPIキーで正常に動作します。」と表示されるんですよ。
問題がある場合は、「失敗!API設定にエラーがあります。チェックして更新してください。」と表示されます。
おそらく、サイトキーなどの入力に誤りがある可能性があるんです。
入力を修正して再度テストしてくださいね。
Cloudflare Turnstileの動作確認
Cloudflare Turnstileが有効化されると、コメントフォームなどにこのような表示が現れます。
ほとんどの場合は、自動でチェックされ、「成功しました!」となるはずです。
ログインフォームも同様の動作をします。
まれに、確認が求められることがあります。この場合はクリックするだけで済みます。
しかし、これも稀に失敗することがあるようです。
reCAPTCHAと比べると、確認が求められる場合でもチェックするだけで済み、指定された画像の選択などはありません。
楽すぎて「本当に大丈夫か?」という気がしないでもないですが…。
まあ、Cloudflareの高度な技術により、セキュリティは十分に確保されているでしょう。
Cloudflare Turnstileの統計情報
Cloudflare Turnstileの管理画面では、統計情報を確認することができます。
この情報は、Turnstileの効果や利用状況を把握するのに役立ちます。
まず「発行されたチャレンジ」という項目があります。
これは、Turnstileが表示された回数を示しています。
サイトの訪問者数やフォームの利用頻度を把握するのに役立ちますね。
次に「インタラクティブな解決」という項目があります。
これは訪問者に確認を求めた回数、つまり手動確認の回数を表しています。
最後に「非インタラクティブな解決」という項目があります。
これは訪問者に確認を求めることなく自動で認証した回数です。
非インタラクティブな解決があれば、ユーザーエクスペリエンスが向上していると言えるでしょう。
reCAPTCHAからTurnstileへの移行方法
まずreCAPTCHAからTurnstileへの移行方法をご説明します。
現在reCAPTCHAを使用している方は、Cloudflare Turnstileにシームレスに切り替えることができます。
以下のステップバイステップガイドに従って、アップグレードプロセスを進めてください。
現在、Turnstileへの移行はreCAPTCHA v2まで対応しています。
行動分析を基にするv3は非対応ですので、ご注意ください。
クライアント側の統合
- クライアント側の統合を更新するには、HTML の要素に Turnstile スクリプト スニペットを挿入します
<head>
Turnstile script snippet<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?compat=recaptcha" async defer></script>
追加 実行 回転式改札口 互換モードで、 次の機能を有効にします。?compat=recaptcha
- reCAPTCHAの暗黙的なレンダリング
g-recaptcha-response
フォームの入力名- Turnstile API を
grecaptcha
- 通話箇所を特定し、サイトキーを Turnstile サイトキーに置き換えます。
grecaptcha.render()
回転式改札口は以下をサポートします。
- 呼び出し
render()
- reCAPTCHA v2 非表示モード
execute()
サーバー側の統合
siteverify URLを置き換えて、サーバー側統合を更新します。取り替える:
から
https://challenges.cloudflare.com/turnstile/v0/siteverify に
reCAPTCHA は、クエリ パラメータ (.GETGET /siteverify?response=<response>&secret=<secret>
Turnstile の siteverify エンドポイントはこれをサポートしておらず、FormData または JSON 本文のリクエストのみを受け入れます。POST
詳細については、「サーバー側の検証」を参照してください。
hCAPTCHAからTurnstileへの移行方法
hCAPTCHAと言う毎月100万回リクエストまで無料の?reCAPTCHAのそっくりさん
をお使いの場合は以下の手順で移行することが可能です。
クライアント側の統合
- クライアント側の統合を更新するには、HTML の要素に
Turnstile スクリプト スニペットを挿入します。<head>
Turnstile script snippet<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
- 呼び出しを見つけて、サイトキーを Turnstile サイトキーと API に置き換えます。
hcaptcha.render()
Render// beforehcaptcha.render(element, { sitekey: "00000000-0000-0000-0000-000000000000" }) // afterturnstile.render(element, { sitekey: "1x00000000000000000000AA" })
回転式改札口は以下をサポートします。
- 呼び出し
render()
- hCaptcha 非表示モードを呼び出します。
execute()
サーバー側の統合
- siteverify URLを置き換えて、サーバー側統合を更新します。
から
https://challenges.cloudflare.com/turnstile/v0/siteverify
へ変更する。
- 入力名を .
h-captcha-response
cf-turnstile-response
これでおしまいです。
【まとめ】reCAPTCHAの代替はCloudflare Turnstileで充分
今回は、4月より完全有料化するGoogleのreCAPTCHAの料金プランの詳細と
シュミレーション、代替となり無料でかつスピーディーでユーザーの利便性を損なわせない
CAPTCHAソリューションであるCloud Flare Turnstileを紹介しました。
- 煩わしくない
- 検証までがスムーズ
- 無料で10個のウィジェットまで無制限で使える
- 導入が簡単!
以上の理由からreCAPTCHA有料化の代替はTurnstile で充分と言えます。
ぜひ、導入を検討してみてください。