Contact Form 7で送られてきた迷惑メールのIPアドレスを特定してアクセス拒否にする
- 2019.02.24
- WordPress

WordPressを使っている人にはお馴染の「Contact Form 7」。
このプラグインには、送信者のIPアドレスを記録する機能がデフォルトで備わっています。
これを利用すれば迷惑メール対策の一つの手となります。
Contact Form 7で送信者のIPアドレスを表示させるには
Contact Form 7は素の状態のままだとIPアドレスは表示はされません。ですが、設定画面でたった1文付け加えるだけで見れる様になります。
まずは管理画面左の「お問い合わせ」から「コンタクトフォーム」を開きましょう。
「メール」タブを選択します。
一文を加える場所は「メッセージ本文」の欄になります。
[your-message]の部分が相手が書いた本文なので、その前後どちらかに、
[_remote_ip]
と付け足します。(コピペ対策してるので手で打って下さい。すみません・・・)
この一文を足しただけで、送られてきたメールにIPアドレスが表示される様に。
最後の数字がIPアドレスです。一部消そうかとも思いましたが、海外からのスパムなのでそのままでいっかと。
.htaccessで特定のIPアドレスからのアクセスを拒否する
IPアドレスが判ってしまえば、サイトへのアクセス自体遮断する事も可能です。方法はいくつかありますが、私は.htaccessを使ってアクセス拒否しています。
その手のプラグインもいくつか試したのですが、私の環境では上手く機能しなかったので、結局.htaccessを利用。
.htaccessはちょっと検索すれば詳しく解説されたサイトがごまんと出てくるので、一からの説明は割愛させて頂きます。
結論だけ簡単に書いてしまうと、
order allow,deny
allow from all
deny from 拒否したいアドレス
となります。
IPアドレスの変更にある程度対応可能
このアドレスなんですが、同じ相手でも後ろの方はころころ変わったりします。
さきほどのスパムは31.184.238.190ですが、このまま記述しても末尾が1変わっただけで意味なくなってしまいます。
ですが心配ありません。
31.184.
とだけ記述すれば、31.184.から始まる全てのアドレスを拒否になります。
order allow,deny
allow from all
deny from 31.184.
こんな感じ。
その代わり、無関係なのに巻き添えでアクセス拒否になるアドレスも出てくるので、その点理解した上で行って下さい。
海外スパムなんかは気にせずやっても問題ありません。余計なストレスからさっさと解放されましょう。
拒否したいアドレスを追加する時は、改行して同じ様にdeny form・・・と追記していくだけです。