[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

フィルタ

Table of Contents
フィルタの概要
フィルタに関する設定
フィルタ: サイズ制限
フィルタ: コマンドメールへの制限
フィルタ: mime component filter のルール構成法
議論: mime component filter に必要な機能とは?

Caution

本章でいうフィルタとは、 特にこだわらない限り「投稿された記事に対するフィルタ」を指しています。

この「記事に対するフィルタ」システムは FML::Filter クラスに実装されています。

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

フィルタの概要

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

もっとも 「メール本文に対するフィルタ」 にも、 「 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_)。

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >