続・中国圏のスパム投稿がウザイので対策してみた

先日の『中国圏のスパム投稿がウザイので対策してみた « まいにち@ぐだぐだ』と、おいらのコメントに書いたようにまさにいたちごっこになっている中国圏からと思われるスパマーとの対決の行方は、おいらが勝利していると[jqtools title=”とおいらが勝手に思って居るだけですからw”]思われる[/jqtools]状況に、今現在はなっているようです。

先日のエントリで紹介した『WordPress › Throws SPAM Away « WordPress Plugins』のキーワードチェックが大いなる戦力です。

件の中国圏からのスパムは本文および名前に件のキーワード[ref]今回の場合は怪しい通販サイトっぽいところの名前?かな??[/ref]を記述してくるコメントスパム。
一つのIPアドレスで1日に4~5くらいを投げ込んでいく。
今現在はAkismetプラグインに拿捕されている。
もっとも、おいらの場合は1行でもリンクが含まれていれば要承認という設定にしているのでAkismetプラグインに拿捕されなかったとしてもそのまま公開されると言うことはまずない。
一度でもコメントを付けていただいた方なら判るだろうと思うけど、初見コメントは必ず要承認という設定にもなっている。
なので、おいらのサイトでスパムが日の目を見るためにはハッキングでもしない限りは無理なのである。

まあ、手前味噌な話はさておき、上記のプラグインには落とし穴がある。
実際においらのところでスパマーがやった手段であるが、本文はすべて英文にして名前には件のキーワードが含まれている宣伝ぽい文字列を入れてきた。
つまり、本文しかキーワードチェックをしないこのプラグインではスルーしてしまうのです。
スルーしてしまってもAkismetプラグインが拿捕してくれているから表には出ることはありませんが、家に帰ってきてダッシュボードを除くとスパムが何件とか視るとげんなりしてしまうので、この拿捕状況すらなくしてしまいたいからプラグインを探してまで対策したいんだから、やっぱり何とかしたいのである。

で。
名前も一緒にキーワードチェックをさせられるようにしたら良いんじゃないのか?
と言うことで

[php num=90 highlight_lines=”93″]
if( $user_ID ) {
return $id;
}
$comment = $_POST[“comment”];
// IP系の検査
$ip = $_SERVER[‘REMOTE_ADDR’];
if (!$newThrowsSpamAway->ip_check($ip)) {
// アウト!
} else

[/php]

のあたりを

[php num=90 highlight_lines=”93,94″]
if( $user_ID ) {
return $id;
}
// $comment = $_POST[“comment”];
$comment = $_POST[“author”] . $_POST[“comment”];
// IP系の検査
$ip = $_SERVER[‘REMOTE_ADDR’];
if (!$newThrowsSpamAway->ip_check($ip)) {
// アウト!
} else

[/php]

んな感じに手を加えてみました。

これで、しばらくは静かに暮らせそうです(^_^)v
素敵で知的なプラグインをありがとうございます。