«前の日記(2003年09月07日) 最新 次の日記(2003年09月09日)» 編集

Matzにっき

<< 2003/09/ 1 1. [Ruby]ささやかな夢
2 1. [OOP]箱モデルの逆襲
3 1. [OOP]箱モデルの再逆襲
2. [生活]洗車
4 1. [言語]プログラミング言語の使いやすさ
5 1. [Game]Beneath the Steel Sky
2. [会社]打ち上げ
6 1. [教会]ステーク大会
2. Sobig.F
7 1. [教会]ステーク大会
2. Sobig.F(その2)
8 1. Sobig.F(からのメール)を退治せよ
9 1. [言語]Lispのわかりやすさ
2. [言語]ツッコミへのお返事
10 1. [Game]表参道アドベンチャー
2. [言語]プログラミング言語のユーザビリティ
11 1. [言語]記法のユーザビリティ
2. [原稿]迫りくる〆切
12 1. [原稿]〆切
2. [生活]温泉
13 1. [家族]温泉プール
2. [言語]マクロのユーザビリティ
14 1. [教会]岡山
15 1. [家族]敬老の日
2. [言語]マクロのユーザビリティ(その2)
3. [原稿]〆切
16 1. [OSS]インタビュー
17 1. [本]コンピュータの名著・古典100冊
2. トリビア
18 1. [特許]ソフトウェア特許
19 1. 準備
2. [家族]姪
3. [特許]ソフトウェア特許ML
4. [特許]懸念の表明
5. [特許]himiさんの反応
20 1. [生活]休日
2. [Ruby]仮想マシン
21 1. [教会]米子訪問
2. [JAOO]移動
3. [特許]アンチパテント
22 1. [JAOO]台風
2. [JAOO]旅行記(往き)
23 1. [JAOO]電源の恐怖
2. [JAOO]見かけた有名人
3. [TV]デンマークのテレビ
4. [JAOO]パーティ
24 1. [JAOO] プレゼンの準備
2. [JAOO] プレゼン「What's Hot in Ruby」
3. [JAOO] インタビュー
4. [JAOO] Speakers Dinner
25 1. [JAOO]旅立ち
26 1. [JAOO]帰国
27 1. [JAOO]帰宅
28 1. [教会]松江
2. [家族]娘の誕生日
29 1. [特許]ソフトウェア特許は悪?
30 1. [Ruby]Artimaインタビュー
2. [言語]AQUA
3. [言語]プログラミング言語の新アプローチ
>>

2003年09月08日 [長年日記]

_ Sobig.F(からのメール)を退治せよ

父: いやあ、いらないメールがいっぱい来て困るよ。
子(6歳男): だした人にいらないっていえば?
父: 出した人も知らないんだよね(以下、ウィルスについて説明)
子: じゃあどうするの?
父: 要らないメールだけ捨ててしまうプログラムを使ったんだ。

父: でも、これもまだ面倒で。自分でわざわざ捨てないといけないから
子: だったら、自動的に届かないようにできないの。
父: できるよ。今日、そうしようと思ってたんだ。

というわけで、フィルタを用意。 基本的にはsobig_killer.rbを削っただけなのでお手軽簡単。

#!/usr/bin/ruby

SOBIG_SUBJECTS = <<END.split("\n")
Thank you!
Re: Thank you!
Re: Details
Re: Re: My details
Your details
Re: Wicked screensaver
Re: That movie
Re: Your application
Your details
Re: Approved
END

SOBIG_SUBJECTS_R = Regexp.new('^(' + SOBIG_SUBJECTS.join('|') + ')$')

header = STDIN.gets("\n\n")
size = STDIN.read.size + header.size

exit 1 unless header =~ /Subject: (.*)\n/
subject = $1
if subject =~ /RAV AntiVirus scan results/
  exit 0
end

if (310000 < size  || size < 100000) and 
    not header =~ /^Content-type:\s*multipart\/mixed/i
  exit 1
end
if SOBIG_SUBJECTS_R =~ subject
  exit 0
end
exit 1

あとは、.procmailrcに以下のルールを追加する。

0HB:
* ? /usr/bin/ruby /home/matz/sobig_filter.rb
sobig

勇気があれば(?)、「sobig」の部分は「/dev/null」でも良い。 実際には私はそうしている。これで迷惑なメールを見ないですむ。


«前の日記(2003年09月07日) 最新 次の日記(2003年09月09日)» 編集