reCAPTCHAでWordPressをスパムや不正ログインから保護する。

こんにちは、masakiです。

近年ではIT技術やプログラムの進化と共に、スパムマーケティングやサイトへのハッキング等も、プログラムでシステマティックに行われるようになりました。

スパムマーケティングは、お問い合わせフォームやユーザーが入力できるコメント欄に、プログラムで自動で投稿が行われます。

Webサイトの認証で保護されているコンテンツへのアタックは、ログイン画面へプログラムでブルートフォースアタックなどが行われます。

こういった行為からサイトを保護する事が今回の目的です。

スポンサーリンク

reCAPTCHAとは

まずreCAPTCHAとは何なのかですが、サイトでよく見かけるこれがそうです。

From Google.

「人が入力したものしか受け付けないようにする」

この目的を実現し、サイトに簡単に導入できるようにGoogleが開発したのがreCAPTCHAです。今回はreCAPTCHAをWordPressに導入してみます。

reCAPTCHA v2 では、ユーザーはフォームの投稿前に、これをクリックしてから送信ボタンを押します。しかし、これって結構煩わしいですよね?

そこで登場するのがreCAPTCHA v3です。

v3ではInvisible reCAPTCHAと言って「私はロボットではありません」のチェック画面が表示されず、アクセス者のフォーム内やサイト内での挙動など色々な要素を自動的に判定し、アクセス者が人間なのか人間でないのかを判断してくれます。

reCAPTCHAの設定

まずGoogle reCAPTCHAのサイトで、reCAPTCHAを導入したいサイトの登録等を行う必要があります。

Google reCAPTCHA

右上の「Admin Console」をクリックし、サイトの登録画面に進みます。

Google reCAPTCHA 管理画面

「ラベル」には自分が管理しやすい名前を付けます。自分のサイトのドメインでよいでしょう。
「reCAPTCHAタイプ」はv3を選択してください。
「ドメイン」にはこのreCAPTCHAを使用するサイトのドメインを入力します。
「利用条件」に同意し次の画面に進みます。

Google reCAPTCHA 管理画面

「サイトキー」と「シークレットキー」が発行されます。このキーをwordpressでインストールするプラグインに設定しますが、後で確認出来る為、今メモする必要はありません。「設定に移動」をクリックして次に進みます。

Google reCAPTCHA 管理画面

設定が完了しているのがわかります。自分のサイトがAMPに対応していないのであれば「このキーがAMPページで動作するようにする」のチェックをはずしておきましょう。

次にwordpressのプラグインをインストールします。

WordPressのreCAPTCHA用プラグインを設定する

reCAPTCHAをwordpressに簡単に導入できるのが「Advanced noCaptcha & invisible Captcha」プラグインです。
wordpressのプラグイン画面からインストールしましょう。

 

Advanced noCaptcha & invisible Captcha

インストールしたプラグインの設定画面を表示してください。

Advanced noCaptcha & invisible Captchaの設定画面

上から順番に設定していきます。

「Version」はv3を選択してください。

「Site Key」と「Security Key」にGoogle reCAPTCHAで生成したサイトキーとシークレットキーをコピペします。

自分のサイトでreCAPTCHAを有効にしたいフォームを選択します。自分のサイトがユーザー登録やコメント登録を許可しているのであれば、各種チェックを入れてください。

「Error Message」は認証されなかった場合に出るメッセージですので、好きなメッセージに変更しましょう。

「Captcha Score」を高くしすぎると人間かどうかの判定が厳密になり、認証が通りづらくなります。0.5くらいで良いでしょう。

ContactForm7でreCAPTCHAを有効にする

以下のコードをContactForm7で生成したフォームの中に入力するとお問い合わせ画面でreCAPTCHAが有効になります。

[anr_nocaptcha g-recaptcha-response]

reCAPTCHAの動作を確認する

プラグインの設定を保存した後、お問い合わせフォームやログインフォームにアクセスしてみてください。

reCAPTCHAで保護されたページは以下のアイコンが画面右下の表示され、フォームの送信時に「人が入力したものかどうが」がチェックされ保護されます。

wordpressのログイン画面も見てみましょう。

wordpressのログイン画面

上記の様に右下にreCAPTCHAのアイコンが表示されているのがわかります。
これで設定は完了です。

運用を続けるとコメント欄へのスパムが激減しているのが確認できます。
導入も簡単で非常にセキュアなので、必ず導入することをオススメします。

スポンサーリンク