如何使用 Kohana 2 或 KO3 自动转义视图中的数据

发布于 2024-09-28 05:17:39 字数 160 浏览 4 评论 0原文

从模型或控制器中转义数据以轻松安全地在视图中显示数据的最佳方法是什么?对每个数据变量使用 html::specialchars($varname) 似乎有些过分了。如果程序员忘记“转义”数据,也可能会导致问题。

我还遇到过在循环内转义 ORM 对象的问题。

What's the best way to escape data from Models or Controllers to easily and safely display them in views. It seems kind of overkill to use html::specialchars($varname) for every data variable. It can also cause problems if a programmer forgets to "escape" data.

I've also encountered problems escaping ORM objects within loops.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烟柳画桥 2024-10-05 05:17:39

我编写了 gimpe 建议的 Twig 模块,默认情况下它会自动转义所有数据。您可能还想了解 Kostache。它是一个基于类的视图系统,可以自动转义。

关于您的评论:

有没有办法直接从模型中执行此操作

您不想在此处转义数据,因为 HTML 转义数据在所有输出格式中都没有意义,例如:JSON 和 XML。

在视图级别进行转义。

I wrote the Twig module gimpe has suggested and by default it automatically escapes all data. You might also want to look into Kostache. It's a class based view system that does automatic escaping.

Regarding your comment:

Is there a way to do this directly from the Model

You don't want to escape the data here because HTML escaped data doesn't make sense in all output formats, eg: JSON and XML.

Do the escaping at the view level.

淡紫姑娘! 2024-10-05 05:17:39

实现这一目标的一种方法是使用 Twig 之类的模板引擎来处理视图。 (参见 KO3 模块http://github.com/ThePixelDeveloper/kohana-twig

然后你只需需要加载Escaper扩展:

Twig_Extension_Escaper:添加自动输出转义以及转义/取消转义代码块的可能性。

参考:http://www.twig-project.org/book/ 03-Twig-for-开发人员

One way to achieve that is using a templating engine like Twig for the views. (see KO3 module http://github.com/ThePixelDeveloper/kohana-twig)

Then you simply need to load the Escaper extension:

Twig_Extension_Escaper: Adds automatic output-escaping and the possibility to escape/unescape blocks of code.

Ref.: http://www.twig-project.org/book/03-Twig-for-Developers

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文