以最佳和最安全的方式显示由所见即所得形式提交的结果?

时间:2012-10-21 08:39:11

标签: ruby-on-rails forms wysiwyg

我刚刚以Post模型的形式实施了http://xing.github.com/wysihtml5/

_form.html.erb:

 <div class="field">
    <%= render 'shared/toolbar' %>
    <%= f.text_area :content, id: "wysihtml5-textarea", placeHolder: "Content" %>
  </div>

show.html.erb:

  <span class="post-content">
    <%= @post.content %>
  </span>

显示所见即所得编辑器结果的最佳和最安全的方法是什么?

(现在输出看起来像这样):

text <i>editor</i> <b>test</b>&nbsp;text <u>editor</u> test&nbsp;text editor test

(不确定我是否需要太多安全性,因为它只有<i><b><u>个标签。在这种情况下,我应该只使用raw还是escape?)

2 个答案:

答案 0 :(得分:1)

小心HTML插入!看看sanitize gem

当然,使用raw来显示已清理的HTML:

<%= raw @post.content %>

答案 1 :(得分:0)

我这样做:

<%= raw @post.content %>

但你相信你的用户吗?因为他们也可以插入HTML(我从演示中看到),我会说不是。