h()真的有什么作用?

时间:2011-01-02 03:52:29

标签: ruby-on-rails xss

我知道它是关于跨站点脚本的危险。但任何人都可以详细解释一下吗?

2 个答案:

答案 0 :(得分:4)

它会转义要呈现的数据中的html实体。 h()是html_escape()的别名。

http://apidock.com/rails/ERB/Util/html_escape

答案 1 :(得分:1)

h()语句是一种防止跨站点脚本的方法,这是站点在显示用户曾经输入的数据时可能会遇到的漏洞。 h()是Rails 2.x所必需的,但它已经成为Rails 3中的默认值,因此如果你使用的是Rails 3,则根本不需要使用h()。

以下是Ryan Bates和Asciicasts的一些细节:

http://asciicasts.com/episodes/204-xss-protection-in-rails-3