Webサイトのお困りごとはこちらへ

【Snow Monkey Forms】日本語がないメールは送信NG!簡単スパム対策

ハシビィくん

Snow Monkey Formsを使ってるんっすけど、毎日スパムが届いて困ってるっす!

カピーさん

ならスパム対策として初歩的な方法を紹介しよう。

過去に「Contact Form7」で似たようなスパム対策を紹介してきましたが、今回のコードはそちらを「Snow Monkey Forms」用に修正した内容となっております。

目次

日本語が含まれていないメッセージは送信不可!

下記のコードを My Snow Monkey プラグインか子テーマの functions.php に追加してみてください。

//Snow Monkey Formsスパム対策
add_filter( 'snow_monkey_forms/administrator_mailer/skip', function( $skip, $responser, $setting ) {
    // メッセージフィールドの値を取得
    $message = $responser->get( 'message' ); // 対象の項目の name(名称) を指定

    // メッセージに日本語が含まれていない場合、送信をスキップ(防止)
    if ( ! preg_match( '/[一-龠]+|[ぁ-ん]+|[ァ-ヴー]/u', $message ) ) {
        $skip = true;
    }

    return $skip;
}, 10, 3 );

こちらのコードを導入することで、「// メッセージに日本語が含まれていない場合、送信をスキップ(防止)」以下にある言語が含まれていないものは送信ができない仕組みになっています。

実際の問い合わせフォームとしては、「問い合わせ内容(メッセージ)」となる本文部分に日本語が含まれているかが判断基準となっています。

スパムの多くは英字によるものが多いので、「日本語」が含まれていないものはスパムとして認定させているわけです。ですので、多言語サイトなどには使えないカスタマイズになります。そういった際にはプラグインやreCAPTCHAなどでスパム対策するのがベストだと思います。

まとめ:日本語がないメールは送信NG!簡単スパム対策

今回は「Snow Monkey Forms」でのスパム対策方法を紹介していきました。

「Snow Monkey Forms」はシンプルなレイアウトで多くのユーザーに利用されていますが、素の状態ではスパム対策にはほぼありません。

プラグインでスパム対策でも当然良いのですが、今回紹介したコードで防ぐことができる規模であるのならプラグインを導入する必要はないと考えています。なるべくプラグインは少ない方がいい派なので…

日本語がないメールは送信NG!簡単スパム対策
  • 日本語が含まれていないメッセージは送信不可
  • 多言語サイトではプラグイン対策が推奨
この記事をシェアする

コメント(承認制)

コメントする

目次