[WordPress]Contact Form 7 の海外からのスパム対策

[Wordpress]Contact Form 7 の海外からのスパム対策

お問い合わせフォームから問い合わせをいただくとうれしい気持ちになりますが、メールを開いてみるとどれも迷惑メールだと凹んでしまいますよね。

Contact Form7 スパムメールの3つの対策 メリット デメリットまとめ を参考に対策を実施してみます。

Contact Form 7 スパムメールの3つの対策(Akismet不要)とメリットデメリットまとめ。

対策1 フォームにチェックボックスを入れる(Contact Formに項目追加)

対策2 Google 「reCAPTCHA」を導入する(reCAPTCHAの登録が必要)

対策3 日本語が1文字も含まれていないコメントを除外する(functionsに要コーディング)

この3つの対策の中で、対策1については、すでに実施済みですが、迷惑メールの数に変化は見られませんでした。

対策2 については、reCAPTCHAの登録が必要とのことなので、後回しにします。

今回届いているメールの内容がすべて英数字なので、今回は、対策3 の対策を実施することで減少するのではないかと想定して対策をみます。

「function.php」に直接下記のソースコードを追加する必要があります。

「function.php」はどこにある?
「function.php」は 現在使用しているテーマのフォルダーの中にあります

wp-content/themes/テーマ名のフォルダーの中

参考サイトの下記のソースをfunction.phpの最後へ追記!

制限する入力箇所は 「your-subject」の部分を実際の名称に書き換える必要があります。ソースコードの中に2か所(赤文字部分)ありますね。

function wpcf7_validate_spam_message( $result, $tag ) {
$value = str_replace(array(PHP_EOL,’ ‘), ”, esc_attr($_POST[‘your-subject‘]));
if (!empty($value)) {
if (preg_match(‘/^[!-~]+$/’, $value)) {
$result[‘valid’] = false;
$result[‘reason’] = array(‘your-subject‘ => ‘日本語で入力してください’);
}
}
return $result;
}
add_filter( ‘wpcf7_validate’, ‘wpcf7_validate_spam_message’, 10, 2 );

Scroll to Top