【WordPress】Contact Form7で海外スパムメール対策!プラグイン必要なし
- テクノロジー
- 2023/7/6
- 2023/7/4
WordPressでお問い合わせフォームを実装する場合に良く利用されている「Contact Form7」ですが、海外からのスパムメールが届いて困っていませんか?
海外からスパムメールが大量に送られてくると、重要なメールを見落としてしまう原因になりかねません。
そんな海外からのスパムメールを止める方法を解説しています。
Contact Form7 海外スパムメール対策
海外スパムメールを止める方法は、本文に日本語(ひらがな)がない場合はエラーで送信させない方法です。
具体的には<form>タグ内のお問い合わせの本文など内容を記載する箇所<textarea> タグの内容に、ひらがなが無い場合はエラーで送信ができないようにする方法です。
スパムメールの多くは英語だけで書かれたメールだと思います。
この手の怪しい海外メールは、書き込みツール等を使って無差別にContact Form7のお問い合わせフォームが設置されているサイトを標的にしているため、メジャーなContact Form7は対象になりやすいと思います。
ですのでしっかりと対策して海外スパムメールをブロックしましょう。
※この方法は海外からのお問い合わせも必要な場合使えませんのでご注意
以下のコードをテーマにある「functions.php」に記載します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //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; } |
上記を設定すると「ひらがな」がないメール本文では送信エラーとなります。
これだけで海外スパムメールが届かなくなりますのでおすすめです。
設置した後はメールフォームで正常に送信できるかチェックを必ず行ってください。