2022年5月5日
WordPressフォームはデフォルトのままだと必ずといっていいほど数千件のスパムメールが届いてしまいます。
reCAPTCHAを使う方法も一般的ですが、今回ご紹介する方法はコード数行で英語スパムメールを防ぐ事が出来ますのでお悩みの場合はお試しください。
Contact Form 7を使用しているのであれば、チェックボックスを設置してチェックされた場合のみ送信可能にする方法がスパム対策の1つ
承認確認ボタン追加方法
管理画面に入りのContact Form 7で作られたフォームにアクセス
上図内、『承認確認』ボタンをクリック
コードが表示されるのでフォームの任意の場所に配置してください。
承認確認ボタンだけではスパムメールを完全にシャットアウトする事ができません。
その場合、さらなる対策としてフォーム内、入力項目にひらがなが含まれていないものは送信できない。という指示を追加します。
下記のコードをfanction.phpに貼り付けてください。
※必ずバックアップをとって作業を行なってください
//メールフォームの 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;
}
上記方法で英字での送信が不可能になります。
それでも届く場合はフォームを利用していないただのスパムメールですので社内インフラご担当者様に確認を行ってください。
弊社ではWordPressの部分カスタマイズ・修正も対応可能ですのでお悩みの場合はお気軽にフォームよりお問合せください
Webサイトリニューアルから新規ホームページ制作・運営・保守まで、目的達成を実現いたします。
各種Webサイト・ECサイト制作、広告代行に関するご相談、ご質問などお気軽にお問合せ下さい。
Tel : 03-5324-2318 / Email : info@reinc.jp