日曜日, 10月 21, 2007

ルール6をまた変えようかと思ってやめた

 dialog.net.plドメインの、ホスト名が「xdsl」で始まるホスト(xdsl-5790.lubin.dialog.net.plなど)からのスパムアクセスが一時期多かったが、最近ではほとんどなくなった。と思ったら、dial-3295.wroclaw.dialog.net.plというホストからスパムアクセスが来た。
 そこで、9月17日に改良したルール6

/^(dhcp|dialup|ppp|[achrsvx]?dsl)[^.]*[0-9]/ 450 S25R check, be patient

をさらに

/^(dhcp|dial|ppp|[achrsvx]?dsl)[^.]*[0-9]/ 450 S25R check, be patient

と変更して、「dial」だけでダイヤルアップ回線と判定するようにしようかと考えた。
 しかし、よく考えた末にやめた。ホスト名が「dialog1」などだったらどうなる?おそらく、「dialog」という単語の頭4文字が、まったく意味の違う単語「dial」に一致することにすぐには気付かない人が多いだろう。ある程度英語に慣れれば、単語やフレーズをひとまとまりにとらえて頭の中で意味に結び付けるようになり、文字を一つずつ追うことはしないからである。「なぜ引っかかったのだろう?」と思い、「あ、そうか」と気付くまでに時間がかかるような拒否条件は、S25R標準として提案しない方がよいだろう(もちろん、サイトの判断でこの変更を取り入れるのは自由であるが)。
 IPアドレスを表す8桁の十六進番号を含むホスト名は世の中にかなりある。これを一網打尽にするには「/^[^.]*[0-9a-f]{8}/」という正規表現を使えばよい。しかし、それはS25R標準として提案しなかった。「speedfeed1」のようなホスト名が引っかかった時に、なぜ引っかかったのかがすぐには気付きにくいと思ったからである(2006年8月6日「十六進番号」)。それと同じ理由である。
 dial-3295.wroclaw.dialog.net.plのようなホストから何度もスパムアクセスが来るなら、次のようにブラックリスト登録すればよい。

/^dial.*\.dialog\.net\.pl$/ 450 domain check, be patient

0 件のコメント: