我安装了CKEditor的宝石:如何使Rails应用程序呈现由ckeditor gem生成的HTML?
https://github.com/galetahub/ckeditor
我跟所有的步骤,我展示它是这样的:
<%= form_for(@post) do |f| %>
<%= render 'shared/error_messages' %>
<div class="field">
<%= f.label :title %><br />
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :content %><br />
<%= f.cktext_area :content, :input_html => { :value => "Default value" } %>
</div>
<div class="field">
<%= f.label :tag_name %>
<%= f.autocomplete_field :tag_name, autocomplete_tag_name_posts_path, :"data-delimiter" => ' ' %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
,这是我展示的内容:
<p><%= @post.content %></p><br />
但输出是实际的HTML标签。例如:
我怎样才能让它实际呈现最终的HTML?
谢谢。那么为了避免这种情况下的XSS攻击,通常要做些什么? – alexchenco 2012-02-28 02:04:57
说实话,我从来没有遇到过允许用户输入HTML的情况,所以我不能100%确定要做的最好的事情。尽管使用[sanitize](http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html)助手将绝对必要的HTML元素/属性列入白名单应该足够了。 – pjumble 2012-02-28 10:29:00