wordpress Contact Form 7 問い合わせ本文が全て英語の場合は送信できないようにする
日本にも外国からのスパム攻撃が日に日に多くなっていますよね。2020年5月時点でwordpress使ったサイトが全世界のサイトの30%を超え、wordpressを狙ったスパム攻撃がこれからもっと増えていくと言われいます。そんな中、問い合わせフォームプラグインで最も使われている「Contact Form 7」を狙った海外のスパムメールも多く、スパムメールに悩まされている運営者は少なからずいらっしゃるのではないでしょうか?
海外からの問い合わせを来ないようにする
Contact Form 7を使った問い合わせフォームに「本文が全て英語の場合は送信できない」ように設定することで海外スパムメールが来なくなります。
海外向けのサイトの場合は有効ではありませんが、日本国内向けのサイトなら、この方法でほとんどのスパムメールに対応することができると思います。
functions.phpに追記!
以下のコードをfunctions.phpに追記します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
//メールフォームの textarea にひらがなが無ければ送信できない(contact form7) add_filter('wpcf7_validate_textarea', 'wpcf7_validation_textarea_hiragana', 10, 2); add_filter('wpcf7_validate_textarea*', 'wpcf7_validation_textarea_hiragana', 10, 2); function wpcf7_validation_textarea_hiragana($result, $tag) { $name = $tag['name']; $value = (isset($_POST[$name])) ? (string) $_POST[$name] : ''; if ($value !== '' && !preg_match('/[ぁ-ん]/u', $value)) { $result['valid'] = false; $result['reason'] = array($name => 'エラー / この内容は送信できません。'); } return $result; } |
このコードを追記することで「問い合わせフォームの本文にひらがなが含まれない場合は送信できない」ようにすることができます。もちろん本文が空白の場合でも送信することはできません。日本では文章を書く際に、通常ひらがなが含まれないことはめったにないので、これで海外のスパムメールにはかなり有効な対応ができると思います。
まとめ
いかがでしたでしょうか?ほかにも「送信前にチェックを入れないと送信できない」などの自動スパムメール対策もある程度有効かもしれませんが、私の場合はそれでも通過してくるスパムがたくさんありました。上記の方法ならかなり効果があると思います。私の担当しているサイトではぱったりと来なくなっています。functions.phpをいじる必要があるので初心者には怖いかもしれませんが、追記するだけなので、バックアップをしっかり取って対応すれば大丈夫だと思います。是非お試しください!
お役に立てましたらadsenseクリックお願いします!
いかがでしたでしょうか?もしお役に立てましたら、お賽銭のつもりでadsenseをポチっとクリックお願いします!↓上手くいきますようにお祈りしておきます!
関連記事
-
2024.06.28 フリーランスとしてのキャリア: 初心者Webデザイナー向けガイド
-
2024.06.28 タイポグラフィの基本: 初心者Webデザイナー向けガイド
-
2023.02.13 Google SiteKit設定方法 サーチコンソール、アナリティクスと連動の方法
-
2019.06.10 css PCで背景固定演出→スマホでは背景普通演出にする方法