Perl:安全的模板语言

时间:2011-07-22 17:59:33

标签: perl templates

以下是关于安全模板语言的几个问题,例如:

但上述问题适用于asp,ruby,python。

我的问题是:在基于perl的网络应用中,哪些模板语言可以允许用户编辑

我希望允许用户编辑页面,(如在wiki中)具有一些编程可能性,因此具有循环,条件,变量替换,包括等的全功能均值。

TT“足够安全”吗?这是TT的另一种解决方案吗?

1 个答案:

答案 0 :(得分:4)

Template::Toolkit一切正常,只要限制传递给模板的参数。如果你传递类,模板将能够调用这些类上的任何方法,以及那些类的返回值的任何方法等。仅传递Hashes更好。

HTML::Template也是一个很好的选择,默认情况下它只允许哈希,所以你不太可能留下一个让模板作者执行任意代码的漏洞。

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