我正在制作一个Rails应用程序,我有关于剥离标签文本的问题。在视图显示用户提交的文本的任何地方都使用strip_tags
方法是否正常?或者是否应在模型中验证所有输入,然后在视图中不需要strip_tags
方法?这将是很多地方添加这个,因此我想知道我是否正确。
答案 0 :(得分:2)
如果您正在使用Rails 3+,它会自动转义Ruby中视图中输出的所有内容。没什么可做的,默认情况下你是安全的。
如果您正在使用Rails 2.3并使用它,请使用<%= h some_var %>
来逃避可能有害的变量。
你也可以使用带有Rails 2.3的gem rails_xss
来添加对Rails 3的保护
答案 1 :(得分:0)
我会在输入/保存时删除所有标签,然后您不必担心它。如果您确实想要实际维护标签,那么请考虑使用Presenter
设计模式,只需将所有模型数据输出通过其演示者,此时您可以在一个位置剥离标签。