![Anti-SPAM-Schild mit Mails im Hintergrund - orange](https://web-geek-site.com/blog/wp-content/uploads/2024/02/anti-spam-schild-mit-mails-im-hintergrund-orange.jpg)
クライアントさまから「海外からのスパムメールが酷いので何とかならないか」と相談を受け、早速、対策をリサーチ。あまり難しいことをしなくても効果的な対策はないかなぁ。
いろいろ調べて絞り込んだ2つの対策をやってみたところ「効果がありました!」という報告をいただきました。今のところ有効な対策なので他のサイトでも設置するために、忘れないようにメモしておきます。
このページのもくじ
スパム対策01 日本語を必須にする
「ひらがな」がないメール本文は送信エラーとなるコードです。
これを functions.php に追記します。
これだけで海外スパムメールが届かなくなりますのでおすすめです。
//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;
}
スパム対策02 GoogleのreCAPTCHAを設置する
グーグルから提供されているスパム対策サービス。
Googleの設定ページに行きます。
ここから設定に必要なキーを発行します。
Google reCAPTCHA
![](https://web-geek-site.com/blog/wp-content/uploads/2024/02/0dfad5b81ad5de9c20fb552c533ef681-1024x840.png)
項目に入力して「送信」ボタンを押すと、
サイトキーと
シークレットキーが
発行されますので、
コピーして保存しておきます。
WordPressに移動して、
① ダッシュボードからお問い合わせを選択
②「インテグレーション」を選ぶ
③ 先ほど保存したサイトキーと
シークレットキーを入力して「変更を保存」ボタンをクリック
![](https://www.evernote.com/shard/s36/sh/f2ad8869-1d0c-4cc0-9d0a-836c19faa11b/4yzOh28heB7n0e3AUbZhmGa-wsiXafUCgOM0PR2B9hPw1w6ihts_4ytvHA/deep/0/image.png)
これで設定は完了です!