如何防止AntiXssEncoder发送“回车”“换行”的数字字符引用?

时间:2012-12-11 14:30:17

标签: asp.net internet-explorer-10 xss antixsslibrary

ASP .Net使用AntiXssEncoder标记

<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,因为数字字符引用已扩展为回车符。使用数字字符引用而不是实际字符编写代码的原因是因为页面是用ASP .NET编写的,AntiXss是基于此页面的默认HttpEncoder:http://haacked.com/archive/2010/04/06/using-antixss-as-the-default-encoder-for-asp-net.aspx

删除AntiXss编码器可以解决问题,但有没有办法保留AntiXss编码器并阻止它发送“回车”和“换行”的数字字符参考?

1 个答案:

答案 0 :(得分:1)

在当前版本的项目(v4.2.1)中无法阻止这种情况。 codeplex项目有一个突出的问题。

问题:回车符编码为数字字符引用 - http://wpl.codeplex.com/workitem/19074