From: Takeshi Komiya Date: 2006-03-27T12:07:39+09:00 Subject: [ruby-list:41962] Re: 自動的にエスケープするERB 小宮です。 > んで、質問です。 > 通常のERBの他に、自動的にエスケープされるERBのサブクラスや、生なStringを > 挿入すると例外を発生させるERBのサブクラスを作ってRubyに添付することについて > どう思いますか? > Web系フレームワークがそういったサブクラスを自分で用意する方がいいよ!とか、 > いいAPIが思いつかないからやめろとか‥。 以前、自分で Web アプリを開発する際はエスケープ漏れを防ぐため、 処理していない文字列を出力する場合に例外を発生させるようにしていました。 (思わぬ挙動をするのはいやなので、自動的にエスケープはしていませんでした) デバッグモードのようにして、開発中のみ利用できるようにするというのは エスケープ忘れを回避するためには便利だと思います。 ちなみに、自分で作ったときはエスケープしている/していないを 判別するのに taint 機構を使っていました。 (そのときは cgi.rb と mod_ruby を改造して、tainted なオブジェクトは エラーとしてハンドリングするようにしていました) --- Takeshi Komiya