コメントスパム(コメントに不正な文字列党やリンクが書き込まれる)はワードプレスでコメント機能を有効にしている場合、とても厄介な問題ですね。
今回は、ロボット(自動でコメントを書き込む)経由で書き込まれるスパムをHTACCESSファイルから防ぐ方法を解説いたします。
自動でスパムコメントを書き込む、スパムボットからコメントが書き込まれるのを防ぐ方法
下記のコードをHTACCESSファイルに記載されてください。
RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post.php* RewriteCond %{HTTP_REFERER} !.*mysite.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
※mysite.comのところはご自身のサイトのドメイン名を記載されてください
こちらのコードは、コメントを投稿しようとしているアクセスのリファラー(前に表示したページの記録)が、あなたのサイトのドメインでない場合、もしくはユーザーエージェント(ブラウザーのバージョンなどの情報が入っています)が空の場合、そのユーザーの書き込みを防いでくれるコードとなっています
プロクシ経由のアクセスのコメントを書き込むのを抑制
次にスパマーがプロクシ経由(IPを隠して別のサーバーを仲介してアクセスしている場合)でアクセスしてきている場合にコメントを投稿させないようにしてみましょう。
下記のコードをHTACCESSファイルに記載されてください。
RewriteEngine On RewriteCond %{REQUEST_METHOD} ^POST RewriteCond %{HTTP:VIA} !^$ [OR] RewriteCond %{HTTP:FORWARDED} !^$ [OR] RewriteCond %{HTTP:USERAGENT_VIA} !^$ [OR] RewriteCond %{HTTP:X_FORWARDED_FOR} !^$ [OR] RewriteCond %{HTTP:X_FORWARDED_HOST} !^$ [OR] RewriteCond %{HTTP:PROXY_CONNECTION} !^$ [OR] RewriteCond %{HTTP:XPROXY_CONNECTION} !^$ [OR] RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR] RewriteCond %{HTTP:HTTP_CLIENT_IP} !^$ RewriteRule wp-comments-post\.php - [F]
こちらのコードは、アクセスしたユーザーの様々な属性を読み取ってプロクシに特徴的な文字列が含まれている場合にコメント投稿をブロックします。
このような対策でスパムコメントを簡単に劇的に減らせることもございます。ぜひお試しください。
スパムブロック機能も付いているワードプレスドクターのセキュリティープラグイン
【無料】ワードプレス:マルウェアスキャン&セキュリティープラグイン [マルウェア・ウィルス検出と駆除]