From: "5.5" <5.5@...> Date: 2014-07-07T12:25:55+09:00 Subject: [ruby-list:49861] テンプレートシステムを安全に使う 5.5 です。 テンプレートシステムはふつう,不特定多数者がテンプレートを書くことを 前提にしていないと思います。 しかし,Haml や Slim のようなテンプレート言語だと,テンプレートを書く というよりは HTML を楽に書くという目的で使いたい場合もあるかと思います。 Wiki 記法として使ったり,あるいは EPUB の HTML を書くのに使ったり,は たまた,ある種の XML 設定ファイルを書くのに使ったりという用途もあるだ ろう,と。 しかし,テンプレートシステムなので,任意の Ruby コードを書くことができ てしまいます。 自分だけ,あるいは仲間内でだけ書くならいいですが,匿名参加可能な多人数 のプロジェクトだと,これって危険ですよね。 どうにか安全にする方法ってあるんでしょうか? なんというか…たとえばテンプレート中で何をやっても,影響を封じ込める仕 組みとか,Haml や Slim のサブセットみたいなものを作って,やれることを 制限しちゃうとか。 いろいろ想像したのですが,自分にできそうなことは思いつきませんでした。 -- 5.5@moji.gr.jp