我正在制作一个 Rails 应用程序,但我对剥离标签的文本有疑问。strip_tags
在视图显示用户提交的文本的任何地方都使用该方法是否正常?还是应该在模型中验证所有输入,然后您不需要strip_tags
视图中的方法?将有很多地方可以添加此内容,因此我想知道我是否正确。
问问题
78 次
2 回答
2
如果您使用的是 Rails 3+,它会自动转义 Ruby 视图中输出的所有内容。无事可做,默认情况下你是安全的。
如果您使用的是 Rails 2.3 及以下版本,请使用<%= h some_var %>
转义可能有害的变量。
您也可以使用rails_xss
带有 Rails 2.3 的 gem 来添加 Rails 3 的保护
于 2012-08-06T16:37:57.070 回答
0
我会在输入/保存时删除所有标签,然后您以后不必担心。如果您确实想实际维护标签,那么请考虑使用Presenter
设计模式,让您的所有模型数据输出都通过它的呈现器,此时您可以在一个地方剥离标签。
于 2012-08-06T16:37:47.497 回答