2012-01-03 40 views
1

私は、HTMLセーフでは、コントローラ内の文字列にHTMLタグ/エンティティを置き、その文字列をビューでHTMLとしてレンダリングできることを、開発者の視点から理解しています。なぜhtml_safeに注意する必要がありますか?

しかし、セキュリティの観点からは、なぜそれが必要なのか分かりません。いつ私はでなければならない文字列でhtml_safeを使用しますか?私の場合、これはユーザーが編集可能なフィールドですが、どのようなタイプの攻撃が可能かは想像できません。

+4

http://en.wikipedia.org/wiki/Cross-site_scripting –

+0

興味深いことに、これは、他のユーザーが表示できる場合に限り、ユーザーが編集可能なフィールドをhtml_safeにしないでください。たとえば、フィールドがユーザーのファーストネーム(ダッシュボードにのみ表示されている)の場合、大丈夫でしょうか? – CambridgeMike

+0

本当に自分のページにしかないのであれば、おそらく、なぜ気になるのでしょうか?常に安全なプラクティスを使用してください。後で管理者が別のユーザーとしてサイトを表示できるようにする管理者ビューを追加するとどうなりますか?おっとっと。 – DGM

答えて

1

http://guides.rubyonrails.org/security.html

非常に明確なXSSなどのセキュリティ問題に関するガイド、なぜあなたは、ユーザーが編集可能なコンテンツをエスケープする必要があります。

関連する問題