我们为什么要使用html_security?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (164)

无法理解我们为什么使用html_比要呈现的传统html更安全。

def group(content)
  html = "".html_safe
  html << "<div class='group'>".html_safe
  html << content
  html << "</div>".html_safe
  html
end
提问于
用户回答回答于

在Rails HTML ERB模板中,传递给它的字符串被HTML转义,它将HTML代码注入到您的字符串中,以便攻击者能够在站点访问者上执行JavaScript。但是,有时我们知道我们的字符串对于HTML是安全的,并且不希望它被转义,这样就可以实际地呈现HTML。我们是通过调用来做这件事的.html_safe在字符串上将其标记为HTML呈现是安全的。你通常希望尽可能避免使用这一点,因为它使你更容易犯错误并导致XSS成为可能对你的站点的攻击。

用户回答回答于

html_safe在这个例子中没有什么意义,因为content_tag将大大缩短,更容易阅读,并将自动摆脱用户的输入:

def group(content)
  content_tag(:div, content, class: 'group')
end

扫码关注云+社区

领取腾讯云代金券