スパム対策で「reCAPTCHA」は導入した方がいい?
サイトのお問い合わせフォーム等を悪用して、スパムメールや迷惑メールを送信する手口があります。
自分のサイトが不正行為に利用されてしまうのは、誰だって嫌ですよね。
スパム対策ツールで有名なreCAPTCHA(リキャプチャ)は、月100万回までなら無料で使えます。
そこで、reCAPTCHAとは何か? v3やv2、Enterprise(エンタープライズ)の違い、導入方法を解説していきます。
この記事を書いた人
当ブログの信頼性・成長記録(開く)
【2023年2月5日】
過去28日間でGoogle検索における当ブログへのクリック数が6K(6000)クリックに到達しました。
- reCAPTCHAのメリット・デメリット、タイプの違い、導入・削除方法、ロゴを非表示にする方法、プライバシーポリシーへの追記について
reCAPTCHA(リキャプチャ)とは
reCAPTCHA(リキャプチャ)とは、Googleが提供するスパム対策ツールです。
スパム攻撃からサイト全体を保護することや、特定のページ(お問い合わせフォーム等)だけ保護することもできます。
ConoHa WINGでも導入を推奨している
上の画像は、2022年7月22日にレンタルサーバー「ConoHa WING」が発信したお知らせです(内容は次のとおり)
【重要】[ConoHa]お問い合わせフォームに関する注意喚起
(〜中略〜)
スパム対策がおこなわれていないお問い合わせフォームでは、スパムメールや迷惑メールの不正送信に利用されてしまい、お客様のご利用環境が意図しない形で不正行為に加担させられてしまう可能性がございます。
ConoHa WING ニュース
ご利用されておりますWebコンテンツにてスパム対策を導入されていない場合は、Googleの不正投稿対策サービスとして提供されております「reCAPTCHA」を導入するなど、スパム対策機能の実装を推奨いたします。
また、WordPressをご利用の場合、一部のテーマにて標準で搭載されているお問い合わせフォーム機能では上述の「reCAPTCHA」では効果が出ないお問い合わせフォーム機能もございます。
ご利用のお問い合わせフォーム機能が「reCAPTCHA」に対応していない場合、スパム対策用プラグインの導入をご検討くださいますようお願い申し上げます。
このように、ConoHa WINGでもreCAPTCHA(リキャプチャ)の導入が推奨されています。
僕もこのお知らせを見て、reCAPTCHAを導入しました
▼ConoHa WINGでWordPressブログを始める方法
reCAPTCHAのメリット・デメリット
reCAPTCHA(リキャプチャ)は、今はv3、v2、Enterprise(エンタープライズ)の3タイプが使えます。
※ v1は2018年4月1日に廃止されました。
最新版はreCAPTCHA Enterpriseですが、一般に普及しているのはreCAPTCHA v3とv2になります。
reCAPTCHAのメリットは、いうまでもなくスパム対策ができることです。
デメリットは、reCAPTCHAを導入することによってサイトの表示速度が遅くなるようです。
デメリット対策としては、reCAPTCHAで保護する範囲をサイト全体ではなく、必要なページ(お問い合わせフォーム等)に絞って導入すれば、表示速度への影響を避けられます。
当ブログもお問い合わせフォームにだけ導入しています
reCAPTCHA(リキャプチャ)v3とv2の違い
reCAPTCHA v3
reCAPTCHA(リキャプチャ)v3では、サイトの閲覧者はお問い合わせフォームの入力などを余計な手間なく行えます。
サイト閲覧者の入力行為をv3ソフトウェアがデータ分析して、閲覧者がロボット(スパム)なのか人間なのかを自動判定します。
通称、bot(ボット)と呼ばれるソフトウェアのことを指します。
判定は「0.0〜1.0」のスコアをサイト管理者に返すことで表示されます。
サイト管理者はGoogle reCAPTCHAの管理画面でスコアを確認できます。下の画像(スコア分布)のように、スコア0.9と0.1の判定があったことやそれぞれの件数がわかります。
数値が低い(0.0に近い)ほどbotの可能性が高くなります。
デフォルトではスコア0.5未満のとき「botの可能性が高い」と判定されます。
この「0.5」のことを、しきい値といいます。しきい値は変更できます。
デフォルトでは、0.5 のしきい値を使用できます。
Google Developers reCAPTCHA v3 日本語訳
reCAPTCHA v2
reCAPTCHA(リキャプチャ)v2では、サイトの閲覧者は「自分はロボットではありません」という項目にチェックを入れる作業や、画面をチェックする作業が求められます。
チェックの未入力によりサイト閲覧者がbot判定されると、reCAPTCHA v2は閲覧者のリクエスト(お問い合わせフォームからの送信等)を拒否します。
reCAPTCHA(リキャプチャ)v2は3タイプある
reCAPTCHAにはv3、v2、Enterpriseの3タイプがあると述べましたが、reCAPTCHA v2は、さらに3タイプ(Checkbox、Invisible、Android)が用意されています。
Checkbox:「私はロボットではありません」チェックボックス
reCAPTCHA v2を導入したページに、上の画像のようなチェックボックスが置かれます。
サイト閲覧者は毎回チェックを入れることによって、人間であることをサイトに示します。
Invisible:非表示のreCAPTCHAバッジ
「非表示のreCAPTCHAバッジ」にすると、上記のようなチェックボックスは表示されません。
v2ソフトウェアがサイト閲覧者の入力行為をデータ分析して、閲覧者がbotなのか人間なのかを自動判定します。
自動判定するところはreCAPTCHA v3と似ていますね。「非表示のreCAPTCHAバッジ」では、bot判定されたとき再確認の画面(下の画像)が表示されます。
一度は見たことのある画面ではないでしょうか。サイト閲覧者は再確認の画面にチェックを入れることによって、人間であることをサイトに示します。
Android:reCAPTCHA Android
「reCAPTCHA Android」は、Androidソフトウェアに組み込むAPIです。Google Play開発者サービスとして提供されています。
開発者向けのツールです
【重要】reCAPTCHA v3はv2の改良版ではない
reCAPTCHA(リキャプチャ)について解説する多くのサイトで、reCAPTCHA v3がv2のバージョンアップ版であるかのように記されていますが、そうではありません。
reCAPTCHA v3とv2には重要な機能面の違いがあります。
サイト閲覧者がbot判定されたとき、reCAPTCHA v2は閲覧者のリクエスト(お問い合わせフォームからの送信等)を拒否するのに対し、reCAPTCHA v3は拒否せず通してしまいます。
reCAPTCHA v3は、自動判定のスコア(0.0〜1.0)をサイト管理者に返すだけなので、bot判定されたサイト閲覧者を拒否するには追加の設定が必要になります。
つまり、reCAPTCHA v2がチェック画面を出すだけなのに対し、reCAPTCHA v3はスコアの数値毎に対応方法をカスタマイズできる点が特徴です。
しかし、reCAPTCHA v3には「本当は人間なのにbot判定した」誤判定でも、追加の設定次第で、サイト閲覧者を拒否してしまうという問題があります。
この問題に関しては、チェック画面を出して再確認を求めるreCAPTCHA v2のほうが安全です。
このように、reCAPTCHA v3とv2では重要な機能面の違いがあるため、「新しいからv3を使う」ではなく、サイトの目的に合ったreCAPTCHAを選ぶほうが誤った拒否行為などを避けられます。
なお、reCAPTCHA v2が近々廃止されるというニュースは今のところありません。v3、v2(Checkbox、Invisible、Android)、Enterpriseを合わせた5タイプがサービス提供されています。
Google では、reCAPTCHA (v3 および v2) と reCAPTCHA Enterprise を提供して、不正行為、スパム、悪用からサイトを保護できるようにしています。
Google Developers reCAPTCHA 日本語訳
reCAPTCHA Enterpriseについて
reCAPTCHA Enterprise(リキャプチャ エンタープライズ)は、従来のreCAPTCHAによる保護機能を拡張したバージョンです。
さまざまなスパム攻撃からサイト全体を守ることができます。ただ、そこまで多機能はいらないという方は、サイトの表示速度への影響もあるのでreCAPTCHA v3やv2がおすすめです。
月100万回を超えたら、v3/v2は使えなくなります。Enterpriseなら有料で使えるため、月100万回を超えるときはEnterpriseにしましょう。
reCAPTCHA(リキャプチャ)の導入方法
それでは、reCAPTCHA(リキャプチャ)の導入方法を見ていきます。
- Google reCAPTCHAに登録する
- 自分のサイトに設定する
①Google reCAPTCHAに登録する
Google reCAPTCHAにアクセスします。
登録にはGoogleアカウント(Gmailアドレス)が必要です。ない方はGoogleアカウントを作ってから上記のGoogle reCAPTCHAにアクセスしてください。
Google reCAPTCHAの登録画面が出てきます(上の画像)
①「ラベル」欄に好きな名前を入力します。
②reCAPTCHA v3またはv2にチェックを入れます。v2にチェックすると、さらに3タイプ(Checkbox、Invisible、Android)の選択画面が出てくるので、使いたいv2のタイプにチェックを入れます。
③reCAPTCHAを導入するドメイン名を入力します。
④「reCAPTCHA 利用条件に同意する」にチェックを入れます。
⑤「送信」ボタンを押します。
ドメインのところで「ドメイン●●●は無効です。有効なドメインにはホストを指定する必要があります。プロトコル、パス、ポート、クエリ、フラグメントは含めないでください」というエラーメッセージが出てきたときの対処方法です。
当ブログの場合は「saishono.blog」が正しい入力になります。プロトコル(https://)やドメイン名の最後にスラッシュ(/)が入っていると、上記のエラーが出ますのでご注意ください。
登録完了画面が出てきます(上の画像)
⑥「サイトキー」と「シークレットキー」をメモ帳などにコピーします。
⑦「設定に移動」「アナリティクスに移動」ボタンはどちらも押さず、画面を閉じます。
これで、Google reCAPTCHAの登録は完了です。
②自分のサイトに設定する
つづいて、取得したサイトキーとシークレットキーを自分のサイトに設定します。
WordPressで作成したサイトなら、reCAPTCHA導入用のブラグインが複数あります。
ただ、reCAPTCHAを導入するページの種類や、どのタイプのreCAPTCHA(v3/v2)を導入するかによって使えるプラグインが異なります。
reCAPTCHAはお問い合わせフォームに導入するニーズが多いと思いますが、プラグインを選ぶときは、自分のお問い合わせフォームに使えるかどうかを事前に確認しましょう。
▼reCAPTCHA v3/v2をMW WP Formで作成したお問い合わせフォームに設定する方法
reCAPTCHA v2のセキュリティレベルを変更するには
Google reCAPTCHAにreCAPTCHA v2を登録した場合、Google reCAPTCHAの設定画面でセキュリティレベルを変更します。
reCAPTCHA v2のセキュリティレベルは「0%」「50%」「100%」の3段階があります。
reCAPTCHAを削除する方法
Google reCAPTCHAのタイプを変更したいときなどは、登録内容を削除して再登録します。
ドメイン名やオーナー情報(Gmailアドレス)を消しても、登録内容の削除はできません。
Google reCAPTCHAの設定画面の右上にある「ゴミ箱」マーク(上の画像)をクリックして、登録内容を削除します。
reCAPTCHAのロゴを非表示にする方法
reCAPTCHA(リキャプチャ)を導入したページの右下には、reCAPTCHAのロゴが表示されます(上の画像)
ロゴの上にマウスポインタを置くと、reCAPTCHAのプライバシーポリシーや利用規約へのリンクが出てきます。
reCAPTCHAのガイドラインでは、そのページにreCAPTCHAが導入されていることをテキストなどで明記していれば、ロゴを非表示にすることが認められています。
ユーザー フローに reCAPTCHA ブランディングを目に見えるように含める限り、バッジを非表示にすることができます。次のテキストを含めてください。
Google Developers reCAPTCHA FAQ 日本語訳
This site is protected by reCAPTCHA and the Google <a href=”https://policies.google.com/privacy”>Privacy Policy</a> and<a href=”https://policies.google.com/terms”>Terms of Service</a> apply.
当ブログのお問い合わせフォームでは、上記のテキストを日本語に翻訳して「このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシーと利用規約が適用されます。」と表記しています。
また、reCAPTCHAのロゴを非表示にする方法は、CSSを使います。
.grecaptcha-badge { visibility: hidden; }
Google Developers reCAPTCHA FAQ 日本語訳
上記のCSSコードを、自分のサイトのCSSファイルに追記すればreCAPTCHAのロゴが消えますよ。
プライバシーポリシーへの追記について
Google reCAPTCHAの登録で「reCAPTCHA 利用条件に同意する」にチェックを入れましたが、reCAPTCHAの利用規約を見ると、自分のサイトのプライバシーポリシーに追記しないといけないようにも解釈できる記述があります。
reCAPTCHA 利用規約
Google reCAPTCHA
reCAPTCHA API は(〜中略〜)Google API 利用規約の第 3 条(d)に基づき、サイト管理者は、この API を利用するにあたり、サイト管理者の責任で、これらのデータの収集および Google との共有に関して必要な告知を行い、ユーザーの同意を得ることに合意します。(〜以下略)
しかし、reCAPTCHAは導入すると自分のサイトにロゴが表示され、ロゴにはreCAPTCHAのプライバシーポリシーや利用規約へのリンクがあります。
そのため、上記の「必要な告知」とはGoogleがユーザーのサイトにロゴを置くことを指しており、ロゴの設置にユーザーが合意するという意味に受け取れます。
上記の「必要な告知」について、Google reCAPTCHAの公式サイトには具体的な説明がありませんので、今のところ自分のサイトのプライバシーポリシーに追記する必要はなさそうです。
もちろん、追記してもOK
念のため追記するときの記述例を挙げておきます。
<プライバシーポリシーの記述例>
このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシーと利用規約が適用されます。reCAPTCHA API は、ハードウェアやソフトウェアの情報(デバイスやアプリのデータなど)を収集し、そのデータを分析のために Google に送信することにより動作することをご理解のうえご了承ください。このサービスの使用に関連して収集された情報は、reCAPTCHA の改善と一般的なセキュリティ上の目的で使用されます。