1

クライアントが marko テンプレートを編集できるようにしたい。ユーザーがスクリプトと XSS の問題を追加できることを知っています。についての質問ですserver side

nodejs から marko テンプレートを実行し、テンプレートが 1 人のユーザーからのものであるとします。テンプレートがサーバー上の悪意のあるコードを評価する可能性はありますか?

言い換えれば、ユーザーがそのようなことをするのを防ぐにはどうすればよいですか:

<if test="require('readFileSync').deleteAllMyFile...">
   Hi
</if>
4

1 に答える 1

2

Marko では、設計上、テンプレート内で任意の JavaScript コードを使用できます (パフォーマンス上の理由から)。今のところ、コンパイルされた Marko テンプレートは、テンプレートが信頼されていない状況での使用には適していません。ただし、これは何度か発生しているため、コンパイル済みのテンプレートをサンドボックスにロードして安全にするオプションを検討しています。次の Github の問題の一部として、その議論に従うことができます: https://github.com/marko-js/marko/issues/192

于 2015-12-29T17:58:27.717 に答える