RoR 3は、ERBテンプレートを自動的にサニタイズします(正しく実行された場合)。ただし、アプリケーション層にのみRoRを使用し、プレゼンテーションにjavascriptを使用している小さなプロジェクトがあります。したがって、典型的なリクエストは、Railsルートへのajax呼び出しであり、返されたjsonをレンダリングします。問題は、現在、jsを挿入し、タイトル付きの新しい製品を作成することが可能で<script>alert('hello')</script>
あり、これが次のリクエストでそのまま返され、ブラウザーがスクリプトを適切に解釈することです。
するのが最善ですか
- ポストの入力をサニタイズしますか?
- サーバー上のjson応答をサニタイズしますか?(to_jsonをオーバーライドしますか?)
- クライアントのjson応答をサニタイズしますか?
ご意見をいただければ幸いです。