申し訳ないがCNはフィルタさせてもらいますわ

当ブログへのコメント・トラックバックスパムがCNから沢山来ているということで、思い切ってこれらをフィルタすることにした。仕方ないね。

手順はこんな感じ。まず、apnicのサイトから、delegated-apnic-latestを取得。で、こんなpythonスクリプトを実行して、CNのIP範囲を抽出してFreeBSDのipfwのフォーマットに変換。

import re,math

pattern = re.compile('^apnic\|CN\|ipv4\|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\|([0-9]+)\|.*$')
f = open("delegated-apnic-latest")
line = f.readline()

while line:
  match = pattern.match(line)
  if match is not None:
    mask = 32 - int(math.log(float(match.group(2))) / math.log(2.0))
    s = "add 200 deny ip from " + match.group(1) + "/" + str(mask) + " to me"
    print (s)
  line = f.readline()

f.close()

コメント(0)



Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。