私はしばらくの間MS's AntiXSS libraryを使ってきました。最近私は自分のサイトのテキストエリアをプレーヤテキストエリア(WYSIWYGであった)に変更し、改行をbrに変換することにしました。C#では、brのを含むHTML入力を許可しながらXSSを防ぐ方法は?
問題は、MSのAntiXSSライブラリはこれをサポートしていません...それはbrを取り除きます。私はユーザーのエントリをチェックしないで直接私のDBに入れさせたくありません。 MS AntiXSSライブラリを使用しないと、br(C#)などのHTML入力を許可しながらXSSを防止する信頼できる方法は何ですか?
Htmlでテキストをエンコードし、新しい行を
に置き換えてデータベースに保存します。このフィールドのXSSチェックを無効にします。あなたはHtmlでそれをエンコードして、安全です。 (もし私がどこにいたら、私は生のままでレンダリング中にエンコードします) – Guillaume
Guillaumeのアイデアをありがとう...私はASP.NET MVC 3(かみそり)を使用していますが、それを元に戻す方法を理解することはできませんビューのHTMLに変換します。エンコードされていない状態で保存すると、基本的にハッカーのコードが保存されます。 HTMLをレンダリングしてもらいたいが、安全のままにしておきたい。嬉しい考えですか? :) – Chaddeus