置いてけぼり日記

はてなRSSに追加Add to GoogleMy Yahoo!に追加RSS Feed
スパムちゃんぷるーというサービスをライブドアが始めたらしい。
書き込みしてくるクライアントのIPをチェックして、スパマーかどうかを判断するものということだ。

http://spam-champuru.livedoor.com/dnsbl/

しかし提供されているのは、サーバーとPerlでの実装方法だけなんですな。
うちのサイトはPHPベースだし、最近本業でいじっているWebサイトもほとんどPHPベース。
Linux系はさっぱりなのだけどdigというコマンドがこのサーバーにアクセスできるというから、それを手がかりにちょっと調べてみたところ gethostbynameと同じと判明。
(当たり前だろうと言われそうですが……)
それさえ判明すればやることは早いぞっつことで、ためしにこういうのを書いてみた。

<?php
//$CHECK_IP = "192.0.2.1"; // スパム判定されるIP
$CHECK_IP = "207.46.197.32"; // されないIP(microsoft.com)

if(preg_match("/([\d]+).([\d]+).([\d]+).([\d]+)/",$CHECK_IP,$ip)){
  $b = $ip[4] . ".". $ip[3] . ".". $ip[2] . ".". $ip[1];
  $c[] = gethostbyname($b . ".dnsbl.spam-champuru.livedoor.com");
  if($c[0] == "127.0.0.2"){
    echo $CHECK_IP . " ==> すぱむ";
  }else{
    echo $CHECK_IP . " ==> もっけー";
  }
}
?>

なるほどね。これは使えそうだ。
これを入れておけば完璧というわけじゃないが、なるべく多くのSPAM書き込みを検出するには使えるかもしれない。

検索キーワードTOP20