2.「.htaccess」を使う方法
海外IPをはじくのが一番効果的だと思う。レンタルサーバー側で提供している場合が多いので、その機能ではじくのがよいと思う。標準で、はじく設定になっているところもある。
1.プラグインを使う方法
Advanced noCaptcha reCaptcha
・Advanced noCaptcha reCaptcha — WordPress PluginsGoogleの文字入力不要のreCAPTCHAをコメント欄につけれるプラグイン。「ロボットではなく人間であることを証明します」とかいうやつです。たぶん、強力。
Akismet
・Akismet — WordPress Pluginsかなり強力でお勧め。ただし、格安レンタルサーバーかつ、コメントスパムが多い場合はかなり負荷がかかる。というのは、結局コメントを振り分けするが、全てDB(MYSQL)に書き残すので負荷が高くなる傾向にある
Throws SPAM Away
・Throws SPAM Away — WordPress Pluginsコメントに日本語がないとはじく等の設定ができる。その場合は、DBに書き込まないでスルーするので格安サーバーでも負荷がかかりにくいとは思う。Akismetとの併用・連携も可能。機能は盛りだくさんで、いろいろ設定できる。
Simple AntiSpam
・Simple AntiSpam — WordPress Pluginsコメントに日本語がないとはじくころができる。Akismetとの併用・連携も可能。こちらはシンプルで設定も分かりやすいと思う。
IP Geo Block
・IP Geo Block — WordPress Pluginsコメントを国コードで遮断できるので、海外からのコメント投稿を拒否したいなどをプラグインでやりたい時などに便利。
2.「.htaccess」を使う方法
海外IPからのアクセスを拒否する
<Files wp-comments-post.php>
order deny,allow
deny from all
allow from 1.0.16.0/20
allow from 1.0.64.0/18
#
#海外IPを列挙する
#
allow from 223.223.208.0/21
allow from 223.223.224.0/19
</Files>
海外からコメントを書けなくなってもよいのなら、一番効果がある方法です。SPAMの多くは海外IPです。
・IPアドレスで日本国外(海外/外国)からのアクセスを制限する.htaccess CGI's
海外IPアドレス一覧は上記から取得して、コピペすればOKです。
リファラーの無いアクセスを拒否する
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*example.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]
</IfModule>
参考:ブルートフォース攻撃 - WordPress Codex 日本語版
リファラーを付与しないブラウザがあれば、そのブラウザからはコメントが書けなくなりますが今時のブラウザでそういうのはないと思います。
スポンサーリンク
コメントを残す