Perl:安全的模板语言

3

这里已经有几个关于“安全模板语言”的问题在SO上,例如:

但是以上的问题都是针对asp、ruby、python的。

我的问题是:在基于perl的Web应用程序中,哪种模板语言可以允许用户编辑?

我想允许用户编辑页面(就像在维基上一样),并具有一些编程功能,如循环,条件,变量替换,包含等等。

TT是否足够安全?除了TT还有其他解决方案吗?

1个回答

4

Template::Toolkit 可以使用,只要限制传递给模板的参数。如果传递类,则模板可以调用这些类上的任何方法和这些类返回值上的任何方法等。最好只传递哈希。

HTML::Template 也是一个不错的选择,默认情况下仅允许哈希,因此您很少有可能留下漏洞,从而使模板作者执行任意代码。

在任何情况下,请确保阅读所使用的文档,并清除输出以防止跨站脚本攻击。不要依赖于人们自定义模板来为您正确编码输出。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接