スポンサーリンク

Google reCAPTCHA v3 と Contact Form 7 プラグインで WordPress のコメントとお問合せフォームを保護する

Yes or No
記事内に広告が含まれています。

まだまだ成長途中の本サイトですが、早速お問い合わせフォームから「レンタルサーバーどうですか?」の英語のメールが届きました。この先も、お問い合わせフォームやコメント欄にスパムメール/コメントが大量に送られてくる事が想像できます。

Google が提供している reCAPTCHA というサービスを利用し Contact Form 7 プラグインに登録する事で、人海戦術で入力するスパムは防げませんが、ボット (プログラム) による自動投稿を防げるようになるようですので、早速設定してみました。

スポンサーリンク

Google reCAPTCHA について

reCAPTCHA
reCAPTCHA is a security service that protects your websites from fraud and abuse.

reCAPTCHA uses an advanced risk analysis engine and adaptive challenges to keep malicious software from engaging in abusive activities on your website. Meanwhile, legitimate users will be able to login, make purchases, view pages, or create accounts and fake users will be blocked.

https://www.google.com/recaptcha/about/

reCAPTCHA は、高度なリスク分析エンジンと適応チャレンジを使用して、悪意のあるソフトウェアが Web サイトで不正行為に関与するのを防ぎます。一方、正当なユーザーはログイン、購入、ページの閲覧、アカウントの作成が可能で、偽のユーザーはブロックされます。

https://www.google.com/recaptcha/about/ より日本語訳
reCAPTCHA - Wikipedia
CAPTCHA - Wikipedia

reCAPTCHAは、OCRソフトウェアが読み取れなかった文字を画像として出力し、reCAPTCHAのデータを受信する各購読サイトへ向けてそれらを割り振る。購読サイトは、書籍デジタル化プロジェクトとは概ね無関係なサイトが多いが、これらの文字を含む画像を人間に差し出して、通常通りの認証手順の一部としてCAPTCHAの文字列を解読させる。そしてreCAPTCHAサービスは解答されたデータをデジタル化プロジェクトへ送信する。

https://ja.wikipedia.org/wiki/ReCAPTCHA

reCAPTCHA は v1, v2, v3 の種類があり、現在は v2 と v3 が使用できます。

元々は reCAPTCHA は紙情報の電子化に使われていて、その副産物として「人間の入力」か「ボット (プログラム) の入力」かを判別する事に利用されていました。「数字やアルファベットを判定する」のが v1 で2018年3月に終了しました

現在は

  • 複数の画像から正解を選択する v2 (よく見るタイプですね)
  • 画像等は表示せずに AI で判定する v3

が選択できます。今回は v3 を使用する事にしました。

スポンサーリンク

Google reCAPTCHA への登録と Conpact Form 7 プラグインへ反映

Google のアカウントがあれば登録は簡単に終了します。

reCAPTCHA (v3) | Contact Form 7 [日本語]

Contact Form 7 使い方ページの説明が分かりやすく、この通りに進めれば Google reCAPTCHA への登録から Contact Form 7 へ reCAPTCHA 情報を反映させる事が出来ます。

各ページを開いたときに、右下に reCAPTCHA のマークが表示されていれば、Contact Form 7 プラグインへ reCAPTCHA 情報は反映された事が確認できます。

reCAPCHA マーク表示

Contact Form 7 の reCAPTCHA スコアの閾値

reCAPTCHA v3 に関する FAQ | Contact Form 7 [日本語]

Contact Form 7 プラグインの reCAPTCHA スコアの閾値は 0.5 との事です。

どうしてこのメッセージがスパムなの? | Contact Form 7 [日本語]

Flamingo プラグインと併用する事で SPAM 判定された理由を確認できるようです。私は Contact Form 7 プラグインと共に Flamingo プラグインもインストールし、コメント等の状況を確認していく予定です。

ログインフォームは Google reCAPTCHA で保護されていない模様

Contact Form 7 による reCAPTCHA によって保護される範囲は全てのページと記載がありましたが、ログインフォームには Google reCAPTCHA マークが表示されていません。ですので、恐らく reCAPTCHA で保護されていないようです。

ログインフォームも保護したい場合は別途プラグインが必要だと思います。

ググると Invisible reCaptcha for WordPress プラグインの説明が多いですが、3年以上更新されていないので使わない方が無難です。

「サイトがreCaptchaトークンを検証していない~」と出てInvisible reCaptchaが機能しない、スパムがすり抜ける[Contact Form 7][WordPress]
問い合わせフォームやコメントフォームをスパムから保護するのに重宝するreCaptcha(リキャプチャ)。問い合わせフォームを設置しない場合もログインフォームや登録フォームの保護などセキュリティ面の強化にもなりますので導入必須の機能と言えるで

Advanced Google reCAPTCHA プラグインを試してみるとログインフォーム等にも対応していました。暫くは Contact Form 7 で reCAPTCHA を使用してみますが、様子を見て必要なら切り替えたいと思います。

Advanced Google reCAPTCHA
Captcha protection against spam comments & brute force login attacks using Google reCAPTCHA.

まとめ

Contact Form 7 プラグインに Google reCAPTCHA を反映させて、お問い合わせフォームやコメント欄を SPAM から保護するように設定しました。

Contact Form 7 プラグインの reCAPTCHA スコアの閾値は 0.5 ですので、この先に送られてくるお問い合わせフォームやコメントの内容を確認したいと思います。

また、ログインフォームは reCAPTCHA で保護されていないようですので、必要なら Advanced Google reCAPTCHA プラグインに切り替える事も検討します。

Google reCAPTCHA のアイコンが表示される領域が、スマホのフッタメニュー等と重なるので、少し微調整が必要だと思います。これについては別記事でまとめる予定です。

今回のアイキャッチ画像

Gerd AltmannによるPixabayからの画像です。閾値0.5が Yes なのか No なのか、もう少し時間が経過しないと分かりません。

コメント

タイトルとURLをコピーしました