【WordPress】Contact Form 7 送信者のIPアドレス取得方法

サイトの運営には欠かせないコンタクトフォーム!

ここでは、IPアドレス・ブラウザー情報やホスト名を取得する方法を掲載してます。迷惑メールの対策の一環として活用できるものになります。

IPアドレスの取得

スパムメール対策はいろいろありますが、IPアドレスを取得することにより、たとえば、プラグインでWP-Ban などで、IPを個別で拒否することができます。

Contact Form 7 の「メッセージ本文:」テキストボックス内にコピペ

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

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;
}

こちら、備忘録として以下のサイトを参考させて頂きました。

ありがとうございます。

https://yellowglasses.jp/web/contactform7spam/

 

タイトルとURLをコピーしました