私はOWASPガイドを率いており、ガイド2.0が2004/2005に書き戻されて以来、これに関する私の見解を成熟させてきました。
私の見解では、対処する必要のある2つのフェーズがあります。
入力の検証-可能な限り、データへのXSSベクトルの侵入を常に許可しないようにする必要があります。私はViews™を持っていますが、正直なところ、最善の策は、できる限り強く入力して長さを制限することです。ブール変数または整数変数をテキスト列として格納できるようにする意味はありません。残りのリスクは、テキストブロブに格納されているテキスト領域になります。これは、プレゼンテーション層をコーディングするときに明らかなはずです。
出力エンコーディング-元のガイドが書かれたとき(2002年)、私たちはBig 5を実行していましたが、それはもはや真実ではありません。コンテキストのエンコードを正しく出力する必要があるため、Ajaxに出力する場合は、JSONとJavaScriptの両方、およびHTMLを安全にする必要があります。
作業中のガイドの新しいバージョン、OWASPガイド2013があります。これが正しく更新されていることを確認します。
非常に有効な懸念があるため、プロジェクトの課題トラッカーに課題を記録してください。
OWASPガイド2013課題追跡システムに課題を記録します
ビッグ5を単純にエンコードする時代は、本当に終わりました。特に、HTMLが今後の主要なプレゼンテーション層になる可能性はかなり低いためです。
Andrew van der Stock、OWASPガイド2.0/2013ガイドリード。