「reCAPTCHA(リキャプチャ)」の設置でスパム対策!

09.29.2021

本ブログにも問い合わせフォームを設置しました。

しかしながら、問い合わせ管理のために設置したフォームでありながら、そのフォーム宛に受信者の意向を無視して一方的に繰り返し送り付けられる広告や宣伝メール、ウイルスやマルウェア感染を狙った迷惑メール、いわゆるスパムメールに悩まされる可能性があります。
サイト運営におけるフォーム設置はサイト訪問者との連絡手段であり、それに伴うスパム対策は重要です。

ここでは、「reCAPTCHA(リキャプチャ)」と呼ばれるGoogleが提供するスパム対策システムの導入方法について紹介します。

reCAPTCHA(リキャプチャ)とは

reCAPTCHAは、問い合わせフォームなどに登録された情報を識別し、bot(単純な繰り返し処理や定められた一連の処理を自動で行うプログラム)などによる悪質なアクセスから遮断してサイトを保護するものです。

本ブログの画面右下に表示されている3つの矢印が円を描いているアイコンがreCAPTCHAによって保護されていることを表しています。

GoogleがWordPressサイトにおいて無料で提供している機能であり、本記事作成時点ではバージョン1(v1)~バージョン(v3)があります。

v1 画像に表示された書体の崩れた(歪んだ)文字を入力することによりアクセスを認証(→提供終了)
v2「私はロボットではありません」のチェックボックスにチェックしたり、場合によっては指定された画像を選択することでアクセス認証
v3内部処理により分析し、ユーザー入力なしでアクセス認証

本機能によりサイト訪問者の行動パターンを分析・解析し、人かスパムかを判別しています。スパムと判定されるとアクセスが拒否されスパムからの攻撃を軽減することが可能になります。

reCAPTCHA(リキャプチャ)導入のメリットとデメリット

■メリット
reCAPTCHAのメリットは何といってもスパム攻撃対策が無料でできることです。botによる攻撃は一般的には自動化されているため、標的にされると驚くほど多くの宣伝メールやフィッシング目的であろう迷惑メールが寄せられてしまいます。

ちなみに今はだいぶ減りましたが、別サイトにて上記のようなメールが筆者のところに何通も届いたことがあります。削除や必要なメールの選別が大変でした。。。


■デメリット
対してデメリットは、全ての悪意のあるアクセスを防げるとは限らないことや、reCAPTCHAのバージョンが変われば、都度対応しないといけない可能性があるということです。

画像に表示された歪んだ文字がどういう文字かを入力する画像認証のv1は、botによりすでに突破されており提供を終了しています。
また、v1~v2の場合は、認証のためにクリックしないといけない項目が増えてしまい、ユーザーにひと手間かけてしまうことです。
予告なく突然画像認証が表示されることもあり、ユーザーがとまどってしまい、フィッシングではないかという不安などを与えかねません。

v3では、ユーザーによる操作を必要としないよう改善されています。
しかしながら、v2とv3のキー(サイトを識別する特殊な文字列)はそれぞれ別のものであり、v2からv3に変更するには、このキー変更に対応しなくてはいけません。
今後もし新たなバージョンが出た場合にも同様の可能性があります。

スパム対策が進化していると考えられますが、botの性能も上がって突破される可能性も無いわけではありません。
スパム対策にも必要に応じて更新していくことが求められます。

何もしないのは無防備すぎるので、ぜひともGoogleが提供するreCAPTCHAを導入しておきましょう!

reCAPTCHA(リキャプチャ)の導入方法

それでは、実際に本記事作成時点で最新の「v3」導入方法を画像付きで紹介します。
サイトを登録してキーを発行し、そのキーをサイトに反映するという流れです。

サイト登録とキーの発行

まず、reCAPTCHAのサイトを開きます。Google検索で「reCAPTCHA」と調べてもトップに出てくると思います。reCAPTCHAのトップページで「v3 Admin Console」をクリックします。※画像取得時は「Admin Console」でした。

サイト登録に関する画面が表示されますので、下記の必要事項を入力し、「送信」をクリックします。

ラベル任意の名称。複数サイト運営をする場合に、サイトを識別できる名称がいいです。後でも変えることができます。
reCAPTCHA タイプ「v3」を選択。
ドメイン対象サイトのドメインを入力。サブドメインも登録対象になります。
オーナーGoogleアカウントに登録されているメールアドレス。必要に応じて追加します。
reCAPTCHA利用条件に
同意します。
チェック。利用規約を確認してチェックを入れます。
アラートをオーナーに送信するチェック。サイトで問題が検出された場合のアラートの受け取り要否です。

次の画面でキー(サイトキー、シークレットキー)が発行されます。このキーは後でWordPress管理画面で使用しますが、また確認できますのでまず「設定に移動」をクリックします。

キー発行前では表示されていなかった「このキーが AMP ページで動作するようにする」というチェックボックスが表示されています。
AMP(Accelerated Mobile Pages)ページ、いわゆるモバイルページを高速に表示させるための手法を用いたページにも対応することができます。AMPページを作成する場合はチェックしましょう。
「保存」をクリックします。

保存が完了すると統計データが表示されます。※初期状態のためデータは0。

キーの反映

先ほど発行したキーを確認します。統計データ画面右上にある歯車のマークよりreCAPTCHAの設定画面を開き、「reCAPTCHAのキー」をクリックすることで表示できます。


キーをコピーできる状態にしたまま、WordPressの管理画面の「問い合わせ」-「インテグレーション」を開き、reCAPTCHAの項目にある「インテグレーションのセットアップ」をクリックします。

表示された画面にて、reCAPTCHAの設定画面で確認できたサイトキーとシークレットキーをそれぞれコピー、ペーストします。「変更を保存」をクリックします。

「reCAPTCHAはこのサイト上で有効化されています。」が表示されると反映完了です。
サイト上のどこかのページを開くと、画像のようなreCAPTCHAのマークが確認できます。

まとめ

ここではreCAPTCHAの導入方法について紹介しました。

スパム攻撃はサイト運営者の負担になります。サイト運営する上で、フォーム入力などが無い場合にはスパム対策はあまり意味がないかもしれませんが、ブログやサイトでは運営者との連絡手段であったり、通販サイトではカートシステムに不随する入力など、フォーム入力はどうしても必要になります。

スパム対策が無く、攻撃対象になってしまうとかなり負担になってしまうので、不要な負担を軽減するためにも本記事のようなスパム対策は導入しましょう。

Googleが無料で提供している機能ですので、ぜひ検討してみてください!ヽ(゜∇゜ヽ)