2012-04-13 79 views
0

是否有任何插件允许用户创建自己的模板?所以我用像水木清华安全模板(Ruby on Rails)

Templates.find(5).render(:val1 => val1, :val2 => val2) 

有一个名为液体但它似乎并不安全(用户可以删除数据库等)的一个很好的插件。

谢谢。

回答

4

液体是一个非常受欢迎的神庙系统,被认为是安全的。实际上这是设计目标之一。从液体文档:

液体是用非常具体的要求写了一个模板引擎:

它有美丽而简单的标记。不会产生好看的标记的模板引擎不好玩。

它需要是非评估和安全的。制作液体模板以便用户可以编辑它们。您不想在您的用户编写的服务器上运行代码。

它必须是无状态的。编译和渲染步骤必须独立,以便昂贵的解析和编译可以完成一次,稍后您可以使用局部变量和对象传递散列。

2

机车CMS使用称为液体的宝石声称这样做。在这里检查它http://rubygems.org/gems/liquid

+0

我在我的问题中提到过它。 :)然而,真的不安全?我可以在模板中执行任何代码,不是吗? – Ximik 2012-04-13 13:10:39