我正在创建一项服务,我希望允许最终用户编辑网页的HTML模板,以便访问特定的“变量”以包含在模板中。
我知道液体是为此目的而设计的,是安全的(至少是相对的),并且正在大量生产中使用。但是,与Mustache一样,我发现最终用户的语言相当复杂。
Mustache听起来很棒,但我担心安全问题......它是否曾被用于最终用户模板?
基本上我正在寻找一个模板引擎,我可以使用w / Rails为最终用户:
液体遇到1& 2,但不是3-4。小胡子符合2-4,但我不确定#1,这是不可协商的。
非常感谢任何见解,经验或评论。
答案 0 :(得分:3)
Mustache非常适合插值,如果您将其用于Javascript评估,我无法想象它会将您暴露给服务器端漏洞。这是最简单,最强大的选择。我不知道非程序员会理解它,但我确信它比Liquid更简单。
另一种选择是使用现有的更简单的用户标记集(如BBcode)或富文本编辑库(如TinyMCE)。这些功能大大减少,但对普通人来说更容易使用。