何时在视图文件中使用'sanitize'方法?

时间:2011-08-18 07:15:53

标签: ruby-on-rails ruby ruby-on-rails-3 security sanitize

我正在使用Ruby on Rails 3.0.9,我想知道什么时候 MAY 应该必须使用{{ 3}} 安全性原因的方法。

用法示例可以是:

sanitize(flash[:notice])

1 个答案:

答案 0 :(得分:1)

每当您显示用户输入的数据时,您都应该使用它,即它不可信任。

例如,在聊天应用程序中,用户可以编写随后显示在页面上的帖子。在这种情况下,清理输入很重要。

如果您没有清理输入,用户可以将HTML和Javascript代码注入您的页面,这会影响查看同一页面的所有其他用户。这样攻击者就可以完全控制页面。

另一方面,没有必要清理应用程序创建的数据,即在您的示例(sanitize(flash[:notice]))中没有必要。 (假设您使用flash显示应用程序创建的状态消息)