Contact Form 7・簡単なスパム対策

WordPress

WordPressプラグインContact Form 7のお問い合わせフォームから送られてくる迷惑メール(スパム対策)を防ぐ方法をご紹介します。

これで、迷惑メールは少なくなります。

[acceptance acceptance-0]

[acceptance acceptance-0
[acceptance acceptance-0

非常に簡単な対策です。

作成したコンタクトフォームに下記の文章をコピーして貼り付けます。

[acceptance acceptance-0] 確認ページはございません。内容をご確認の上チェックを入れてください

[acceptance] は、「同意する」などによく使われるチェックボックスを生成するタグです。

これで画像認証などの面倒な事をしなくてもスパム対策になります。

IPアドレス取得

人為的に送られてくるスパムは防げないのでIPアドレス・ホスト名・ブラウザー情報を取得しておきます。

IPアドレスを取得しておけばプラグインWP-BanなどでIP拒否をしたり、プロバイダーに通報してスパム対策を行えます。

※セキュリティ保持のためIPアドレス・ホスト名・ブラウザー情報を取得しております。

など文章で警告をしておきます。

ご利用のテーマのfunctions.phpに下記を書きます

/*-------------------------------------------*/
/*  Contact Form 7 スパム対策
/*-------------------------------------------*/
 
//Contact Form 7 ホスト名取得
add_filter('wpcf7_special_mail_tags', 'wpcf7_special_mail_tag_for_remote_host',10,2);
function wpcf7_special_mail_tag_for_remote_host($output, $name)
{
if(!isset($re_addr)){ $re_addr = $_SERVER['REMOTE_ADDR']; }
if('wpcf7.remote_host' == $name){ $output = gethostbyaddr($re_addr); }
return $output;
}
 
//Contact Form 7 ブラウザー情報取得
add_filter('wpcf7_special_mail_tags', 'wpcf7_special_mail_tag_for_remote_ua',10,2);
function wpcf7_special_mail_tag_for_remote_ua($output, $name)
{
// Special [wpcf7.remote_ua] tag
if(!isset($u_agent)){ $u_agent = $_SERVER['HTTP_USER_AGENT']; }
if('wpcf7.remote_ua' == $name){ $output = $u_agent; }
return $output;
}

下記ショートコードを Contact Form 7 の「メッセージ本文:」のテキストボックス内にコピペすれば完了。

-----------------------------------------
■投稿者情報
 
[_date] [_time]
 
ホスト名:[wpcf7.remote_host] 
 
IP: [_remote_ip]
 
ブラウザ:[wpcf7.remote_ua]
-----------------------------------------

最後に!

これでも迷惑メールが送らてくる場合は、そうとう恨まれてる恐れがあります…

まずは、プロバイダーに連絡をして警告をしてもらいましょう!

それでも止まらない場合は、法的手段をとってください。



こちらの記事も読まれてます。