ElEctrOstAtIc dIAry (静電気日記) is not blog このページをアンテナに追加 RSSフィード

2008-12-08 キャラメルコーヒーに塩

[] 塩キャラメル珈琲  塩キャラメル珈琲を含むブックマーク

甘じょっぱいコーヒー。まぁ飲めないことはないけど・・・。


[] あえてまた perl で。  あえてまた perl で。を含むブックマーク

ruby 版を python に移植したスパムちゃんぷるー

をあえて perl に移植。

もともと perl はあるんだろうけど、perl の練習中なんです。

use Socket;

sub CheckSpamIP {
  my $check_ip = shift;
  # スパムIPアドレス
  my $spam_ip = "127.0.0.2";

  # IPアドレスが不当な場合はスパムとみなす
  # (単純にXXX.XXX.XXX.XXXかどうかだけチェック)
  if ($check_ip !~ /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/) {
    return 1;
  }

  # IPアドレス逆順並べ替え(AAA.BBB.CCC.DDD -> DDD.CCC.BBB.AAA)
  my $ip_rev = join(".", (reverse(split('\.', $check_ip))));

  # 検索ドメイン生成
  my $host = "$ip_rev.dnsbl.spam-champuru.livedoor.com";

  # ドメイン正引き
  # 正引き失敗時はスパム元IPアドレス以外と判断
  my $ip = 0;
  eval {
    my $name = inet_aton($host);
    if ($name) {
      $ip = inet_ntoa($name);
    }
  };
  if ($@ or !$ip) {
    # print $@ , "\n";
    return 0;
  }

  # 正引き後アドレス判定
  if ($ip eq $spam_ip) {       # スパム
    return 1;
  } else {                     # スパム以外
    return 0;
  }
}

use strict とかは省略。eval のあたり、適当すぎかなぁ。パッケージいれて try とか使うのは果たして一般的なのだろうか?


maokunmaokun 2008/12/15 10:49 お塩様コーヒーは弊社自販機にも導入され一部で話題となっております。
まぁ、飲めないことないけど・・・。

elecstaelecsta 2008/12/15 11:57 ムリクリジュースって感じしますよね。
しかもちょっとブーム去り気味だし