为用户提供编辑Marko模板的选项是否安全?

时间:2015-12-28 11:35:27

标签: javascript node.js marko

我想让客户可以编辑marko模板。 我知道用户可以添加脚本和XSS问题。问题是关于server side

如果我从nodejs运行marko模板,模板来自一个用户。模板是否可能评估服务器上的恶意代码?

换句话说: 我怎样才能让用户做出类似的事情:

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

1 个答案:

答案 0 :(得分:2)

Marko允许设计中的任意JavaScript代码(出于性能原因)。目前,这使得编译的Marko模板不适用于模板不受信任的情况。但是,由于这已经出现过几次,我们正在探索通过将编译模板加载到沙箱中来使编译模板安全的选项。您可以在以下Github问题中跟踪该讨论:https://github.com/marko-js/marko/issues/192