WordPress

WP★スパム対策|日本語を必須にする& Google reCAPTCHA で2重のガード!

投稿日:

Anti-SPAM-Schild mit Mails im Hintergrund - orange

クライアントさまから「海外からのスパムメールが酷いので何とかならないか」と相談を受け、早速、対策をリサーチ。あまり難しいことをしなくても効果的な対策はないかなぁ。
いろいろ調べて絞り込んだ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

項目に入力して「送信」ボタンを押すと、
サイトキーと
シークレットキーが
発行されますので、
コピーして保存しておきます。

WordPressに移動して、
① ダッシュボードからお問い合わせを選択
②「インテグレーション」を選ぶ
③ 先ほど保存したサイトキーと
シークレットキーを入力して「変更を保存」ボタンをクリック

これで設定は完了です!

本サイトの内容に誤りや不正確な記述がある場合やサンプルに基づくいかなる結果も一切の責任を負いかねますので、あらかじめご了承ください。

-WordPress

執筆者:

関連記事

Lens Camera Photography  - rotation360 / Pixabay

WordPress★「Pixabay images」に変わるプラグイン

WordPressを最新版にアップデートしたら、プラグイン「Pixabay images」がブロックエディターに対応していない。そこで、代わりになるプラグインを探してみた。 googleで検索すると、 …

WP★フロントページの背景色を変更する★Twenty Seventeenをカスタマイズ04

フロントページの背景色をパネルごとに変更する方法 フロントページを複数指定している場合、設定した固定ページを順番に表示させています。 このとき 各セクションごとに背景色を変更する方法です。 CSSを追 …

Confused Question Marks Boy  - milaoktasafitri / Pixabay

WPで「永続的なオブジェクトキャッシュは有効化されていません」に対処したときのメモ

WordPressのダッシュボードに「サイトヘルス」の表示をさせています。最近「永続的なオブジェクトキャッシュは有効化されていません|AMP」というエラーがずっと出っぱなし。 ??? 何をどうすればい …

no image

WordPress4.5.3 「短縮URLを取得」ボタンを表示させる方法

WordPressをアップロードしたら「短縮URLを取得」ボタンが消えてしまった。。。(汗) これがないとちょっと不便なので、ググってみたら解決法が載っていたので早速トライ! 無事表示されました!! …

WP★flamingo 受信メッセージの一覧表示で「件名」にフォームのタイトルを表示させたい!

受信メッセージの一覧表示で「件名」にフォームのタイトルを表示させたい! 件名のところに[your-subject]じゃなくて、フォームのタイトル名を表示させる方法を調べてみました。 flamingoの …

サイト制作・グラフィック制作をしているデザイナーです。制作で躓いたことの備忘録としてこのブログを始めました。
たくさんの検索結果から、実際に何度も何度も自分で試してみて、自分に合うなと思った方法やうまくいった方法をこのブログに書き留めています。
プログラム関係のことはもっぱらコピペ派。
自分でゴリゴリ書くことはできません。。。プログラムが分かる人がうらやましいです。
そんな私でもなんとかサイト制作ができるのはグーグル先生と貴重な情報をおしげもなく公開してくださっているたくさんの方々のおかげ。
有志のみなさまに日々感謝しつつ制作させていただいています。