2012-04-13 12 views
0

ユーザーが独自のテンプレートを作成できるプラグインはありますか?だから私は安全なテンプレート(Ruby on Rails)

Templates.find(5).render(:val1 => val1, :val2 => val2) 

のようになめらかに使う液体という名前の良いプラグインは、(ユーザーがデータベースをドロップするなどすることができます)しかし、安全であるように思えませんがあります。

ありがとうございます。

答えて

4

液体は非常に人気のあるテンプルシステムであり、安全であると考えられています。実際、それは設計目標の1つでした。液体のドキュメントから:

液体は、非常に特殊な要件で書かれたテンプレートエンジンです:

それは美しく、シンプルなマークアップを持っている必要があります。見栄えの良いマークアップを生成しないテンプレートエンジンは、使用するのが楽しいものではありません。

これは評価が高く安全である必要があります。液体テンプレートは、ユーザーが編集できるように作られています。ユーザーが書いたサーバー上でコードを実行する必要はありません。

ステートレスでなければなりません。コンパイルとレンダリングの手順は、高価な解析とコンパイルを一度にやり直すことができるように、別々にする必要があります。ローカル変数とオブジェクトを含むハッシュをレンダリングするだけです。

2

機関車のCMSは、それを行うと主張する液体と呼ばれる宝石を使用します。ここで確認してくださいhttp://rubygems.org/gems/liquid

+0

私は私の質問でそれを言及しました。 :)しかし、本当に安全ですか?私はテンプレート内の任意のコードを実行することはできますか? – Ximik