Ruby on Rails:如何最好地转义模型中的字符串?

发布于 2024-09-02 12:25:04 字数 263 浏览 6 评论 0原文

我希望我的应用程序在输入时而不是在显示时清理 html,以便对保存到数据库中的字段进行清理。

我一直在使用 strip_tags 进行此操作,效果非常好。但是,这有一个缺点,即意味着用户无法输入用 <> 括起来的任何内容。

我如何告诉模型中的 Rails 在将标签保存到数据库之前安全地转义标签?在视图中使用它们之前,我希望不必再次对已清理的字段调用 h

I want my application to sanitize html on input rather than on display, so that the fields saved into the database are sanitized.

I've been doing this with strip_tags, and it was working great. However, this has the downside that it means the user can't input anything that's bracketed with < and >.

How can I tell Rails in the model to securely escape tags before saving them to the database? I'd like to not have to call h on the sanitized fields again before using them in the views.

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

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

发布评论

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

评论(2

烏雲後面有陽光 2024-09-09 12:25:04

您可以在 before_save 过滤器中调用 h 方法。

You could call the h method in a before_save filter.

深海少女心 2024-09-09 12:25:04

一种选择是使用插件 xss_terminate:http://code.google.com/p/xssterminate/

默认情况下,它会从用户输入中删除所有 HTML 标签。

One option is to use the plugin xss_terminate: http://code.google.com/p/xssterminate/

By default it strips all HTML tags from user input.

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