ワードプレスで使えるプラグイン その2 ベーシック認証を使わずに特定のユーザーを排除する

ワードプレスで記事を書いていると、いつの間にかコメントスパムが付いていることがあります。
一度コメントにスパムが付くとスパマーのボットに登録されたままなので、更新する度にコメントスパムが付くことになります。

コメントスパムについては、有名な「Akismet」というプラグインで防ぐことができます。
AkismetはAPI キーが必要ですが、メールを登録するだけで無料でキーが手に入ります。

とはいえ、Akismetはあくまでもスパムかどうかを判断するだけでスパマーや悪質なユーザーの接近を防げるわけではありません。
最近ではワードプレスの管理者IDが乗っ取られる事件が多くなっているようですが、アクセス制限のプラグインで検索するとベーシック認証によるアクセス制限がたくさんヒットします。
ベーシック認証で管理画面を強力にアクセス制限するわけですが、肝心のコンテンツ部分というと厄介です。

「WP Basic Auth」というベーシック認証が手軽にかけられるプラグインもありますが、基本的に全ての閲覧者に対してアクセスを制限してしまいます。
これだと検索エンジンのロボットはおろか、一般の善良な閲覧者もコンテンツを見ることができず不便です。
ある特定の条件を満たすユーザーだけを排除できると便利ですよね。

そこで「WP-Ban」というプラグインを紹介します。
排除するユーザーの条件をIPアドレス、ホスト名、リファラー(どのサイトのリンクから来たか)、ユーザーエージェント(使っているブラウザの種類とOS)に応じて判定できます。

プラグインを「WP-Ban」で検索し、インストールします。
有効化をしたら、ダッシュボード設定の [ 設定 ] から [ Ban ] をクリックします。

例えば、スパマーのIPアドレスが198.245.49.39だとします。
198.245.49.39のうち末尾の39は可変する可能性があるのでワイルドカード「*」を使ってこのように指定します。

198.245.49.*

こうすると、198.245.49.0~198.245.49.255 までのIPアドレスが条件にマッチします。
複数IPアドレスを指定したい場合は改行します。

WP-Ban01
WP-Ban01

他にはホストネームで判定する場合。
例えば、ホスト名が「niigatani.niigata.ocn.ne.jp」だったとします。
ホスト名から新潟県のユーザーということが分かるので、OCNを使っている新潟県のユーザーを排除するには「*niigata*」とします。

他にはリファラー(どのサイトのリンクから来たか)で判定する場合。
リンクから来るとリファラーという直前のページのURLが残ります。
例えば、ツイッターからなんらかのリンクが張られて、余計なアクセスが増えたとします。
その場合は「*twitter.com*」とすればツイッターからはアクセス禁止となります(直接入力は無効)。

WP-Ban02
WP-Ban02

排除されたユーザーにはオリジナルのエラーメッセージを出すことができます。
単なるHTMLなので文字を書き換えればOKです。
「refresh」タグを使えば○秒後に別のページに飛ばすこともできます。

WP-Ban03
WP-Ban03

最後に [ Save Changes ] ボタンを押して設定を有効にします。

【引用元 goo イメージサムネイル】

関連記事