入力データ(特にコマンドなど)は FML::Restriction クラスが提供する 正規表現で検査します。
そもそも記事に対する入力制限(入力データの表現範囲の制限)というものは考 えにくいです。実際 FML::Restriction クラスによる入力データチェックはあ りません。
(FML::Restriction の対象としている操作とは意味合いが異なりますが)一行 メールなどをはじくために FML::Filter クラスによるフィルタチェックがデ フォルトで適用されています。
コマンドメールは FML::Process::Command の中で一行ずつ FML::Restriction::Command で定義されている正規表現にしたがって 入浴されたコマンド列が検査されます。検査に合格すれば、 FML::Command::{User,Admin}::コマンド の実行に進むことができます。
CGI の各プログラムでは、safe_param_XXX() という関数経由でのみ HTTP セッ ションからのデータを受けとることができます。
safe_param_*() および try_cgi_*() は安全な値を返すことになっています。
これらの safe_param_XXX() は FML::Restriction::CGI ( FML::Restriction::Base を継承している)経由でパターンの検査をし、 検査に合格した場合にのみ値が返されています。
コマンドラインで実行するので「入力チェックなし」がデフォルトです。つま り、そのシェルが取れる時点で正規のユーザであると認証されているはずなの で「正しいユーザ/そのユーザのすることはすべて正しい」と信じています。
もちろん、各モジュールごとの制限は受けます。 たとえば、adduser でアドレスを追加しようとしても、 正しいアドレスに見えないような文字列を入れれば拒否されます。 このあたりの制限は各モジュール依存です。
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>.