私は ASP.NET で Web アプリケーションを開発しており、ユーザーからテキストエリアの入力を受け取り、後でこの入力を Web サイトに表示しています。入力をデータベースに保存している間、入力をエンコードせず、直接dbに書き込みます。
入力に「enter」が含まれている場合、改行を失いたくありません。だから私はそのようなデータを置き換えています: Replace("\r\n", " <br />
")
また、表示する前に XSS 攻撃を防ぐために、Microsoft の AntiXSS ライブラリの Microsoft.Security.Application.Encoder.HtmlEncode 関数を使用してデータをエンコードしています。
この関数は " " もエンコード<br/>
し、画面上には改行がありません。
最初に AntiXSS でエンコードしてから "\r\n" を " <br/>
" に置き換えると、AntiXSS は "\r\n" を削除すると思うので、改行も発生しません。
Server.HtmlEncode を使用してから "\r\n" を " <br/>
" に置き換えれば、すべて問題ありません。しかし、AntiXSS ライブラリを使用したいのですが、これを実現する方法がわかりません。
AntiXSS HtmlEncode関数を使用して改行を印刷する方法はありますか?
ありがとう