Chapter 39. 入力データへの制限

Table of Contents
入力の検査についての概要
FML::Restriction クラス
CGI における入力データの制限
議論; FML::Restriction の制限はきびし過ぎる?

入力データ(特にコマンドなど)は FML::Restriction::CGI クラスが提供する 正規表現で検査します。

入力の検査についての概要

投稿

FML::Restriction クラスによる入力データチェックはありませんが、 FML::Filter クラスによるフィルタチェックがデフォルトで適用されます。フィ ルタをはずすには、config.cf で

use_article_body_filter		=	no
を設定して下さい。

コマンドメール

コマンドメールは FML::Process::Command の中で一行ずつ FML::Restriction::Command で定義されている正規表現にしたがって 検査されます。検査に合格すれば、 FML::Command::{User,Admin}::コマンド の実行に進むことができます。

CGI

CGI の各プログラムでは、safe_param_ほえほえ() という関数経由でのみデー タを受けとることができます。

safe_param_*() および try_cgi_*() は安全な値を返すことになっています。

これらの safe_param_XXX() は FML::Restriction::CGI ( FML::Restriction::Base を継承している)経由でパターンの検査をしています。

makefml および fml

コマンドラインで実行するので、「入力チェックなし」がデフォルトです。 そのシェルが取れる時点で認証されているはずなので、 正しいユーザ/そのユーザのすることは正しいと信じています。

もちろん、各モジュールごとの制限は受けます。 たとえば、adduser でアドレスを追加しようとしても、 正しいアドレスに見えないような文字列を入れれば拒否されます。 このあたりの制限は各モジュール依存です。

fml 8.0 (fml-devel) project homepage is www.fml.org/software/fml-devel/.
fml 4.0 project homepage is www.fml.org/fml/menu.ja.html.
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>.