2011-08-09 6 views
4

私のWebアプリケーションにレポートビルダーを構築したいと思います。ユーザは、サイトの他の部分を介してデータを収集し、次いで、文書スタイルの方法で前記データを使用できる「レポート」を生成することができるはずである。私は、ユーザーが基本的な数学機能を使用して、自分の変数を取得/設定できるようにしたいと思います。ユーザーがTwig Template Engineのような形式でレポートを作成できるようにして、特定の拡張機能しか使用できないようにするには、これはかなり安全ですか? Twigテンプレートは、マークアップで見つかったすべてのPHPをすでに削除しています。基本的な文字列の変更以外は、使用できる強力な関数はあまりありません。あなたの考えを教えてください。phpテンプレートエンジンをユーザーに公開しますか?

答えて

3

Twigには、あなたが説明しているものと全く同じかなり強力なsandbox extensionがあります。十分に厳格なセキュリティ方針で、私はここで何の問題も見ることができません。

+0

これはどれくらい広く使われていますか? https://github.com/fabpot/Twig/issues/search?q=sandboxによれば、1年のうちに良いところがあったが、誰もがTwigのサンドボックスを攻撃するために協調した努力をしたのだろうか?政策作家のベストプラクティスはありますか? –

+1

私は、Twigがデフォルトのテンプレートエンジンとして使用されているSymfony2コードベース全体がSektionEinsの[セキュリティ監査](http://symfony.com/blog/symfony-2-0)の対象であったことを知っています(最後の箇条書き「The Code」の下の点を参照)、一般的な小枝とサンドボックス拡張子が具体的にテストされたかどうかはわかりませんでした。ベストプラクティスに関しては、提供されるデフォルトのポリシーを除いて、まだ浮上しているようなものは何かを心から疑う。 – Problematic

+2

リンクに感謝します。私は監査の範囲または根拠のルールについて何も見つけることができません。営業担当者には、シンフォニーに価値あるものを守るために頼む前に、何かのためにサンドボックスに頼っているかどうかを尋ねる。私がサンドボックスを書いたとき、最初の攻撃者グループはいつも何かを見つけました。 –

1

あなたが必要とするのは、小枝があれば、どうしてですか?これはかなりうまくいっているし、サンドボックスモードを持ち、テンプレートをコンパイルすることができます。反対に、PHPからPHPを提供することは分けるのが難しいので、いくつかのテンプレート音を私にとって悪くない音を使用してください。

関連する問題