需求:在完整显示用户输入的内容的前提下,防止用户输入之类的造成的问题。测试了 rails 自带的 sanitize,发现这个方法直接将不安全的内容直接屏蔽不显示了,这个如果用户是一段代码的化就不满足需求了,,故大家有啥好的办法呢?
这个能满足你的需要么? "用户输入的内容".html_safe
"用户输入的内容".html_safe
为什么要允许用户的代码?唯一解决办法就是 white list
http://api.rubyonrails.org/classes/ERB/Util.html#method-c-html_escape_once
#1 楼 @hz_qiuyuanxin 这个测试了,不能。。
@small_fish__ 一段代码?什么样的代码?
#4 楼 @small_fish__ 这样
<%= j "用户的内容" %>
参考这里
#5 楼 @tumayun 例如随便一段 html 代码, 暂时用的这个方法 h(content).gsub(/\n/, '<br/>')
h(content).gsub(/\n/, '<br/>')
#3 楼 @jjym thanks