さくらでブラックリストの正規表現で文字コード範囲を指定

さくらインターネットのメール
ブラックリストの正規表現で文字コード範囲を指定する方法
(さくらのフィルタは maildrop(.mailfilter))

From欄の文字列に「異字体セレクタ」や「ゼロ幅スペース」を挟んで、フィルタをかいくぐろうとしているメールを、迷惑メールフィルタにかけるまでもなく落としたいということで


ブラックリストに正規表現が使用できるが、文字コードで範囲指定を行いたい
異字体セレクタを例にした場合

[\x{E0100}-\x{E01EF}]

という正規表現で記述する
【注意】[\uE0100-\uE01EF] のように指定した場合、エラーとなりメールが受信不能になる


【参考】
ゼロ幅スペース(最も使われていると思われるフィルタ回避)
[\x{2000}-\x{200F}]
[\x{2060}-\x{206F}]

異字体セレクタ
[\x{E0100}-\x{E01EF}]
※異字体を使用している場合は注意

ダイアクリティカルマーク(合成文字)
[\x{0300}-\x{036F}]
※日本語の濁点半濁点は3099~に存在するため上記とは別

ロシア語文字(偽英字として利用される)
[\x{0410}-\x{044F}]

ギリシャ文字(偽英字として利用される)
[\x{0391}-\x{03C9}]
※Ω等を含むため利用注意

コメント