フィルタ

fml8 チュートリアル (バージョン 7.99.1-20180910)
Prev |  | Next

# Chapter 39. フィルタ

Caution
本章でいうフィルタとは、 特にこだわらない限り「投稿された記事に対するフィルタ」を指します。 この「記事に対するフィルタ」システムは FML::Filter クラスに実装されています。 もちろん「記事」ではなく 「コマンドメール」を対象としたフィルタシステムなども考えられます。 この場合、その特殊なフィルタシステムが FML::Filter のサブクラスにあるとはかぎりませんので注意して下さい。 コマンドメールが対象であれば、 コマンド処理のクラス中に実装されたフィルタシステムを呼び出しています。 たとえばコマンドメールのコマンドの長さを制限する機能(フィルタ)は FML::Command::Filter クラスが担当しています。

# フィルタの概要

コンテンツを検査するフィルタには大きく分けて三種類あります。それは、 「ヘッダに対するフィルタ」 「メール本文に対するフィルタ」 「MIME 構造を元にしたフィルタ(mime component filter)」の３つです。

もっとも「メール本文に対するフィルタ」にも、 「 MIME でないメールに対するフィルタ」 と 「text/plain に対するフィルタ」 の二種類があるので、 大きく分けると四種類が正しい説明かもしれません。

    大まかな区分け

      header

      body
    	non-mime
    		permit / reject (fml 4.0 の content filter の !MIME)

    	mime component filter
    		(fml 4.0 でいうところ content filter 相当)

    	text/plain filter
    			ja, en, ... (言語依存フィルタ)
    			非言語依存パート (M$ GUID scanner のたぐい)
    		先頭部分の text/plain パートに対するフィルタ
    			(シンタックスチェック)

    	外部フィルタ (ウィルス/SPAM チェッカを呼び出す)
    		clamav
    		spamassassin
    		bogofilter

本当はこれ以外に、SMTP もしくは LMTP を使って、外部の virus scanner な りに飛ばす迂回路(postfix の content_filter 相当)が必要だと思うのですが、 (それは Postfix でやればいいとおもいますので)実装していません。

また、これら以外にトラフィックベースのフィルタがあります (ほとんど未実装なので解説は省略 _o_)。

Prev | Home | Next
議論: エラーメッセージを返す | Up | フィルタに関する設定

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml8/.
fml 4.0 project homepage is www.fml.org/software/fml4/.
about one floppy bsd routers, see www.bsdrouter.org/.
other free softwares are found at www.fml.org/software/.

author's homepage is www.fml.org/home/fukachan/.
Also, visit nuinui's world :) at www.nuinui.net.

For questions about FML, e-mail <fml-bugs@fml.org>.