2012-09-24 10 views
6

私は、ユーザーが独自のデザインを作成できるWebアプリケーションを作成しています。これを行う最も簡単な方法は、自分のJinja 2テンプレートをアップロードできるようにすることです。しかし、私はセキュリティについて懸念しています。Flaskを使用したユーザー生成のJinja 2テンプレート

私は慎重にしなければならないことは何ですか?私はこのためにカスタムJinja 2環境を設定する必要がありますか?

答えて

1

ユーザーが任意のjinja2テンプレートをアップロードできるようにすると、任意のhtmlやjavascriptが許可され、結果としてすべての結果がWebホスティング会社になります。

また、プライベートユーザーデータ(ある場合)が互いに分離された状態になるように、それらにアクセスする変数にも注意する必要があります。

2

これは、人々にJavascriptコードを追加させるだけでなく、サーバー上のほぼすべてのPythonコードを実行できるようにします。してください見てくださいhttp://jinja.pocoo.org/docs/sandbox/

0

あなたが構築しているウェブサイトの種類は正確にはわかりませんが、たとえば、redditはサブデリバーモデレータが独自のCSSファイルをアップロードできるようにしています。

関連する問題