我知道它是关于跨站点脚本的危险。但任何人都可以详细解释一下吗?
答案 0 :(得分:4)
它会转义要呈现的数据中的html实体。 h()是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