消毒所有领域

时间:2013-08-29 17:48:41

标签: ruby-on-rails-3

在将结果保存到数据库之前,我正在寻找一种正确的方法来清理所有字段。应该有一种方法可以做到这一点,因为用户可以在所有用户表单的任何字段中添加一些html ...

谢谢!

1 个答案:

答案 0 :(得分:1)

如果通过'sanitize'表示'避免SQL注入攻击',ActiveRecord应该为你神奇地处理它。但是,听起来你正在谈论阻止用户在表单中输入html并在显示表单内容时处理html。

Rails模板会自动转义模板中的html。因此,如果foo = "<b>bar</b>",将<%= foo %>放在Rails模板中将显示标记,而不是评估它们。为了强制使用未转义的html,您必须使用raw帮助器(<%= raw(foo) %>不会转义标签)。