3

私は 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関数を使用して改行を印刷する方法はありますか?

ありがとう

4

0 に答える 0