スパム対策:特定のIPをアクセス拒否する方法【.htaccess・プラグイン】

お役に立ったらシェアボタンをポチっとお願いします

ここ最近、ブログの編集画面を開いていたらこんなことがありました。

大量のスパムメール 「コメント200超え!?ついに人気ブログの仲間入りか?」

この突然の出来ごとに喜びつつも、早速コメントを覗いてみると・・・

スパムメールのIPアドレス

こんな感じで全員外国人だけど、サイトをベタ褒めしてくれてたので「嬉しいなー」と思ってました。

しかし、よく見るとURLは違うけどIPアドレスが同じ・・・

「完全にbotで自動でコメントさせてるスパムやないかーい」

ということで対策をすることにしました。

ちなみに今回、行った対策は他にもこんな問題への対策にもなります。

自分のブログ記事の盗用の防止

アドセンス狩りの防止

その他悪質なユーザーに困っているならお役に立つかと思うので参考にしてみてください。

特定の人物からのアクセスを拒否

侵入禁止

今回、取ったスパム対策はこのコメント主からのアクセスを拒否するという方法でした。

実はIPアドレスが分かっていれば、いくつかの方法でアクセスを拒否することができるんです。

具体的には、この2つです。

.htaccessを編集してアクセス拒否

プラグインを導入してアクセス拒否

今回の対策を備忘録&同じ問題が起きた人のために書いておこうと思います。

.htaccessを編集して特定の相手のアクセスを拒否する方法

まずは.htaccessファイルを編集する方法です。

.htaccessとは自分が借りているサーバーに指示を出すもので、ここに「指定したIPアドレスからはアクセスを拒否してくれ」と書き込めば、アクセスの拒否ができるようになります。

.htaccessに書き込む内容

.htaccessはけっこう重要な設定ファイルなので、万が一に備えて編集前には必ずバックアップを取っておいてください。

メモ帳機能などに書き込む

メモ帳などに以下のように書き込んでください。

Order allow,deny
allow from all
deny from 123.456.789.01

この『deny from ・・・』の・・・のところに拒否したいIPアドレスを書き込みます。

今回の僕のスパムメール野郎のアクセス拒否をするならこんな感じ

Order allow,deny
allow from all
deny from 192.162.165.22

これでファイル保存すれば準備完了です。

あとはサーバー管理のソフトなどで、このファイルをサーバーにアップして『 .htaccess』という名前を書き換えればオッケーです。

※この作業がややこしいって人も多いのですが、ワードプレスと相性最強なエックスサーバーならサーバー編集画面から簡単に指定IPのアクセス拒否が可能です。

ドメインごと拒否したい場合

「どう考えても自分の記事をパクってるな」ってサイトを見つけてしまった場合は、そんな人にブログ読んでもらう意味ないかなと思うのでドメインごとアクセス拒否をしてしまう方法も書いておきます。

Order allow,deny
allow from all
deny from .ドメイン名

こんな感じです。

そして、もし仮に(あくまで仮にですよ)

僕のサイトからアクセスして欲しくないなってときはこのように書きます。

Order allow,deny
allow from all
deny from .kosuke0001.com

ポイントはドメイン名の前に「.」をつけ忘れないことです。

.htaccess記述の意味

一応どんな指示をサーバーに出しているのかも解説しておきます。

Order allow,deny allow(許可)とdeny(拒否)について注文(Order)します
allow from all 通常はすべてのアクセス(from all)を許可します
deny from 〜 でもこいつらだけは許さん!!

とこんな感じです。

ワードプレスプラグインを導入してアクセス拒否をする方法

サーバーにアップ?.htaccess?意味がわからんという場合におすすめなのがプラグインを導入する方法です。

よさそうなものを2つ紹介しておきます。(両方無料です)

ワードプレスドクターのプラグイン

マルウェアースキャナー

このプラグインの特徴は特定のIPアドレスのアクセス拒否だけでなくセキュリティー面を総合的にメンテナンスしてくれるプラグインです。

怪しいファイルがサーバーに埋め込まれていないか?

CSSに変なコードが書き込まれていないか?

このようなセキュリティーチェックもできます。

海外対策におすすめ

【IP Geo Block】

こちらのプラグインもマルウェアスキャナーのようにセキュリティー対策ができますが、IPアドレス単位ではなく国単位でアクセス拒否が可能です。

今回の僕のように海外からの変なアクセスが多いという場合におすすめです。

ただし、設定は少し難易度高めです。

りゅうさんと言う方の「IP Geo BlockプラグインでWordPressの防御をさらに強固に」がかなり参考になると思います。

また余談ですが、エックスサーバーならこんなことをしなくともサーバー編集画面で国外IPアドレスのアクセス拒否が可能です。

まとめ

『エックスサーバーこそが最強のサーバーである』

という自分が使っているサーバー自慢と不正なアクセスを拒否する方法を解説させていただきました。

変なアクセスでもPV数は伸びるからいいや!なんて思っていると、ある日突然あなたのサイトにアクセスしたらこんな画面が表示されるようになるかもしれません。

Chromeを偽ったスパム懸賞サイト

このような乗っ取り系のマルウェアは上位に表示されるサイトほど狙われやすいので、ご注意を。