広告

【Contact Form 7】スパムと戦う reCAPTCHAの設定

Wordpress

当サイトではアフィリエイト広告を利用しています。

広告

はじめに

私はこのブログを運用していますが、以前からスパムの問い合わせが届くようになりました
日本語スパム・英語スパムの両方で、今のところ日に10通程度届きます。

大抵のスパムは自動化されており、一度目をつけられると、ボットが手当たり次第に送ってくるでしょう。
さらにスパムが増えると、正しい問い合わせを見逃す可能性が高くなりますのでスパム対策を行いました。

Contact Form 7プラグインのバージョン 5.1 以上を対象としています。
(最新は5.4でした)

他にも私のブログで、WordPressについて解説している記事がありますのでご覧ください。

スパム対策

reCAPTCHA

reCAPTCHAは、Googleが提供しているスパム対策です。
無料で利用することができます。
月間1,000,000 回までですので、多くの場合は問題ないでしょう。

reCAPTCHA によるウェブサイトのセキュリティと不正防止
reCAPTCHA は、スクレイピング、クレデンシャル スタッフィング、アカウント作成などのオンライン不正行為を防止する、ウェブサイト向けの bot 保護機能です。

以前のバージョンでは、「私はロボットではありません」というチェックボックスでしたが、現行のv3では、バックグラウンドで動作するので、画像の選択などはありません

Akismet

Akismetもスパム対策ですが、個人利用であれば無料ですが、商用利用の場合は有料になります。

Pricing
Visit the post for more.

商用利用の定義が記載されていました。

Is my site commercial?
If your site has advertising or affiliate links, sells products or services, solicits donations or sponsorships, or is in any way related to a business, nonprofit, or educational organization — your site is considered commercial.
While we rely on customers to self-select their plan, we do perform periodic audits of accounts to ensure the correct plan was selected.

https://akismet.com/plans/

私のサイトは商用ですか?
サイトに広告またはアフィリエイトリンクがある場合、製品またはサービスを販売する場合、寄付またはスポンサーシップを求める場合、または何らかの形で企業、非営利団体、または教育機関に関連している場合、サイトは商用と見なされます
お客様が自分でプランを選択することを前提としていますが、正しいプランが選択されているかどうか、定期的に監査をしています。

Google Adsenseの広告や、アフィリエイトなどでも商用利用とのことでした。
私の場合、個人ブログではありますが、Adsenseを利用していました。

Plusプランの場合、月額900円(年払い)です。
アクセス数が多いサイトで、スパムによる業務圧迫など、そういったケースであれば有益かと思います。
私は今回、Akismetの導入は見送りました

広告

Contact Form 7にreCAPTCHAを設定

reCAPTCHAに登録

まずは、reCAPTCHAの設定を行います。
以下のサイトにアクセスします。

Sign in – Google Accounts

Googleアカウントでログインする必要があります。
アカウントを持っていない場合は作成します。

対象のサイトの情報を入力します。

設定例
  • ラベル:任意。ドメインにしました。
  • reCAPTCHAタイプ:v3を選択しましょう。
  • ドメイン:スパム対策を行いたいサイトのドメインを入力します。(xxx.comのように入力)
  • オーナー:ログインしているGoogleアカウントが表示されています。

利用条件を確認し、送信ボタンをクリックします。

reCAPTCHAにサイトを追加することができました。
ここでのサイトキーとシークレットキーは後ほど使用します。

Contact Form 7の設定

WordPressの管理画面から「お問い合わせ→インテグレーション」を開きます。

reCAPTCHAのインテグレーションのセットアップをクリックします。

reCAPTCHAに登録した後に表示された、サイトキーとシークレットキーを入力し、「変更を保存」ボタンをクリックします。

セットアップが完了しました。

Contact Form 7の確認

Contact Form 7自体の設定は不要のようです。(自動で反映)

サイトを開くと、右下に「reCAPTCHAで保護されています」と表示されたらOKです。
(微妙に邪魔なんですが・・)

とりあえず上記が表示されると、正常に動作しているようで、v2の時のように試験する術はないようです。

reCAPTCHAのマイページで結果が見れます。反応しているようです。
数日様子を見ていますが、まったく迷惑メールが来ません。

400, 403エラーが表示される場合

reCAPTCHA導入後、問い合わせを行うと、送信が完了しない現象が発生しました。

開発ツールで確認すると以下のようなエラーが発生していました。

https://xxx.com/wp-admin/admin-ajax.php?action=rest-nonce
https://xxx.com/wp-json/contact-form-7/v1/contact-forms/xxx/feedback?_locale=user

キャッシュプラグイン(WP Fastest Cache)の影響のようでした。
キャッシュをクリアして直りました。

キャッシュをクリアした直後は直るのですが、暫く経つとエラーが発生していました。
仕方がないので、一旦キャッシュプラグインは無効にしました。

reCAPTCHAのアイコンを非表示にする方法

以下の公式サイトに、アイコンを非表示にする方法が記載されていました。

I’d like to hide the reCAPTCHA badge. What is allowed?

Frequently Asked Questions  |  reCAPTCHA  |  Google for Developers
Get answers to questions about reCAPTCHA Enterprise, versions, limits, customization, and more.

ちなみに、Invisible reCaptcha for WordPressというプラグインがあり、こちらの導入でもアイコンを非表示にできますが、現時点でPHP 8環境のためか、警告が表示されました。

Warning: The magic method InvisibleReCaptcha\MchLib\Plugin\MchBasePublicPlugin::__wakeup() must have public visibility in /home/xxx/public_html/wp-content/plugins/invisible-recaptcha/includes/plugin/MchBasePublicPlugin.php on line 37

プラグインの更新日がやや古いため、本件に関しては公式のやり方で対応するのがベストだと思います。

さいごに

本当にスパムって迷惑極まりないですよね。
余計なストレスを溜めないために、早めの対策をオススメします。

他にも私のブログで、WordPressについて解説している記事がありますのでご覧ください。

Wordpressツール
広告

個人開発

千草 @chigusaweb

現役のITエンジニア。 気ままにコードを書いたり技術情報を発信しています。 Webアプリ/Windows・Macアプリ/モバイルアプリなど。 (Java, PHP, Javascript, Swift, Python, C#, 他) 個人開発:Clibor, Quipha, TXT-Crypter, 符計算特訓, チグサツール Kindle本: Laravel9 実践入門, 他

クリップボード履歴

Clibor

Windows

Cliborはシンプルで高機能なクリップボード履歴ソフトです。 また普段よく使うワードを定型文として登録し、いつでもクリップボードに保存することができます。高度なテキスト整形・FIFOモード・ホットキーに対応。

クリップボード履歴

Windows版Cliborの利便性を、そのままMacでも。 定型文登録、高度なテキスト整形、FIFOモードなど、便利なクリップボード履歴機能を利用できます。macOS最新のTahoeにも対応。

テキスト暗号化

テキストを暗号化してURLで共有・保存できる無料サービスです。 パスフレーズを知る人だけが復号できます。登録不要、データはサーバーに保存されません。 Notionでも利用できます。

学習

Quipha

Web / iOS

自分だけの問題集や問題を作成し、クイズを行い、学習に活用することができるアプリです。 例えば、学校の授業、語学学習、IT資格やその他の資格など多彩な分野での学習を支援します。 いつでも、どこでも、あなたの学習をサポート。

ツール

日常の「ちょっとした効率化」をサポートするWeb便利ツール集。 テキスト・データ処理から最新のAI連携まで、日々のちょっとした手間でググりがちなユーティリティを1つの場所に集約。

麻雀

麻雀の符計算をひたすら特訓しマスターしましょう。 初心者の方はもちろん、もっと速く計算したい方にも役立ちます。 5万対局以上の実践から問題を収録。

コメント

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