我正在使用Ruby on Rails 3.0.9,我想知道什么时候 MAY ,应该和必须使用{{ 3}} 安全性原因的方法。
用法示例可以是:
sanitize(flash[:notice])
答案 0 :(得分:1)
每当您显示用户输入的数据时,您都应该使用它,即它不可信任。
例如,在聊天应用程序中,用户可以编写随后显示在页面上的帖子。在这种情况下,清理输入很重要。
如果您没有清理输入,用户可以将HTML和Javascript代码注入您的页面,这会影响查看同一页面的所有其他用户。这样攻击者就可以完全控制页面。
另一方面,没有必要清理应用程序创建的数据,即在您的示例(sanitize(flash[:notice])
)中没有必要。 (假设您使用flash
显示应用程序创建的状态消息)