私は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
正直言って、私はユーザーがHTMLを入力できるようにしたことがないので、何かするのが最善のことを100%保証しているわけではありません。 [sanitize](http://api.rubyonrails.org/classes/ActionView/Helpers/SanitizeHelper.html)ヘルパーを使用して、絶対に必要なHTML要素/属性のみをホワイトリストに追加するだけでも十分です。 – pjumble