2

AntiXssEncoder を使用した ASP .Net マークアップ

<asp:Textbox TextMode="Multiline" runat=server>
First Line
Second Line
</asp:TextBox>

次のようにレンダリングします。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
 <textarea rows="5" >First Line&#13;&#10;Second Line</textarea> 
</body>
</html>

これは、キャリッジ リターンに展開された数字参照として有効な HTML5 ではありません。コードが実際の文字ではなく数字の参照を使用して記述されている理由は、このページに基づいて AntiXss がデフォルトの HttpEncoder となる ASP .NET でページが記述されているためです: http://haacked.com/archive/2010 /04/06/using-antixss-as-the-default-encoder-for-asp-net.aspx .

AntiXss エンコーダーを削除すると問題は解決しますが、AntiXss エンコーダーを保持し、「キャリッジ リターン」と「ライン フィード」の両方の数字参照を送信しないようにする方法はありますか?

4

1 に答える 1

1

これは、プロジェクトの現在のバージョン (v4.2.1) では防止できません。codeplex プロジェクトには未解決の問題があります。

問題: 数値参照としてエンコードされたキャリッジ リターン - http://wpl.codeplex.com/workitem/19074

于 2013-01-08T17:46:53.193 に答える