从模型或控制器中转义数据以便在视图中轻松安全地显示它们的最佳方法是什么。对每个数据变量使用 html :: specialchars($ varname)似乎有点过分。如果程序员忘记“转义”数据,它也会导致问题。
我也遇到了在循环中转义ORM对象的问题。
答案 0 :(得分:1)
我编写了gimpe建议的Twig模块,默认情况下它会自动转义所有数据。您可能还想查看Kostache。它是一个基于类的视图系统,可以自动转义。
关于你的评论:
有没有办法直接从模型
执行此操作
您不希望在此处转义数据,因为HTML转义数据在所有输出格式中都没有意义,例如:JSON和XML。
在视图级别进行转义。
答案 1 :(得分:0)
实现这一目标的一种方法是使用像Twig这样的模板引擎来获取视图。 (见KO3模块http://github.com/ThePixelDeveloper/kohana-twig)
然后你只需要加载Escaper扩展名:
Twig_Extension_Escaper:添加自动输出转义和转义/ unescape代码块的可能性。