【发布时间】:2016-06-08 02:51:14
【问题描述】:
我正在运行 Rails 4.2.x,但遇到以下问题。
某些页面的<title> 是从用户内容生成的。所以我必须使用sanitize Rails 助手来正确清理它。
但是如果用户写了“A&B”之类的东西,浏览器中显示的标题是A &amp; B,这是错误的。
使用 Rails 转义 <title> 标签上的用户内容的正确方法是什么?至少应该包含一些特殊字符...
【问题讨论】:
-
<%= title.html_safe %>应该会有所帮助。并查看api.rubyonrails.org/classes/ActionView/Helpers/… -
@devanand html_safe 将用户输入标记为安全,无论它包含什么......所以这是最不安全的方法:-)
-
我给你阅读的链接,解释了如何让用户输入更安全!
-
@devanand 我知道如何使输入更安全,一般来说,
sanitize在我们在 HTML 中间注入用户输入时效果很好。但是在这种情况下,<title>标签对 HTML 实体很敏感,所以我不希望其中一些被转义。 -
这就是我想说的。在这种情况下使用
strip_tags。还是我误会了?
标签: ruby-on-rails xss ruby-on-rails-4.2 sanitize