maesblog

WordPressへのコメントスパムは「.htaccess」で遮断

久々にこのブログの管理画面(ダッシュボード)にログインすると、恐ろしい程の承認待ちのコメントの数。もちろんほとんどがコメントスパム・・・。いや~世の中にはホント暇な人がいるもんだと感心しつつ全て削除。ご苦労様でした(スパマーにも、自分にも…)。ついでに.htaccessで特定のIPアドレスからのアクセス拒否設定を行いました。

FTPクライアントソフト(私はFirefoxのアドオンで、大変便利なFireFTPを使っています)で、ブログのコンテンツの置いてあるサーバーにアクセスすると、「.htaccess」というファイルが置いてあるのがわかります。「.htaccess」ファイルは隠しファイルとなっているので、FTPクライアントソフトの設定によっては表示されていない場合もあります。その場合はFTPクライアントソフトの設定において、隠しファイルを表示するように設定する必要があります。

その「.htaccess」ファイルを開くと、WordPressを開設してから特にファイルの内容を変更していなければ、以下のような記述となっているはずです。

# BEGIN WordPress
‹IfModule mod_rewrite.c›
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
‹/IfModule›
# END WordPress

で、この「.htaccess」ファイルの中に、アクセスを拒否したい「IPアドレス」を記載するわけです。方法は何通りかあると思います。

もともと開いた「.htaccess」ファイルにはApacheのRewrite機能の記載があり、この機能を使ってアクセス拒否設定することができます。拒否したいIPアドレスを特定したら、上記コードに以下を追記します。

RewriteCond %{REMOTE_ADDR} アクセスを拒否したいIPアドレス
RewriteRule ^.* - [F] 

その際にIPアドレスに含まれる特殊文字「.(ドット)」は「(日本語環境では円マーク)¥.」と記載します。実際に記載すると、以下のようになります。

# BEGIN WordPress
‹IfModule mod_rewrite.c›
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{REMOTE_ADDR} 192¥.168¥.0¥.1 RewriteCond %{REMOTE_ADDR} 192¥.168¥.0¥.2 RewriteRule ^.* - [F] ‹/IfModule› # END WordPress

Rewrite機能については、以下に詳しい説明があります。

もっと簡単な方法としては、「order allow,deny」を使う方法です。読んで字のごとく「allow」には許可するIPアドレスやホスト名「deny」には拒否するIPアドレスやホスト名を記載することとなります。今回は特定のIPアドレスを拒否したいので、以下のように記載します。

order allow,deny
allow from all
deny from アクセスを拒否したいIPアドレス

実際に「.htaccess」ファイルに記載すると、以下のようになります。

# BEGIN WordPress
‹IfModule mod_rewrite.c›
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
‹/IfModule›

order allow,deny
allow from all
deny from 192.168.0.1
deny from 192.168.0.2
# END WordPress

実際に自分の接続元のIPアドレスを記載して確かめてみると、アクセスした際にどのような画面表示になるかわかると思います。自分の接続元のIPアドレスは「確認くん」などで調べることができます。

アクセス拒否された時の画面
(アクセス拒否設定されたIPアドレスからアクセスした時の画面)

今後どれくらいコメントスパムが減っていくか、しばらく様子を見ていこうと思っています。ついでにブログの更新も少しずつ増やしていければ・・・。

関連記事

コメント

  • 必須

コメント