我发现php模板引擎只允许用户定义的功能,或者只允许白名单功能。我的问题是我会让我的用户编辑他们的模板。所以我需要一个安全的模板引擎。
答案 0 :(得分:5)
twig项目(http://www.twig-project.org/)具有沙箱模式。
答案 1 :(得分:1)
如果你问他们可能会添加白名单,Rain会使用black_list实现沙箱 http://www.raintpl.com/
答案 2 :(得分:1)
如果您只需要条件(if),循环(for)和过滤器,那么我的最小Text-Template类可以完成这项工作:https://github.com/dermatthes/text-template
它是纯粹的正则表达式,不需要文件系统访问,也不需要eval()' d代码。所以它应该是非常安全的。并且它将在< 3ms内解析50kB的模板。