如何防止AntiXss编码器发送"Carriage Return" "Line Feed"的数字字符引用?



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

删除AntiXs编码器可以解决这个问题,但有没有办法保留AntiXs编码并防止它发送"回车"one_answers"换行"的数字字符引用?

这在当前版本的项目(v4.2.1)中是无法阻止的。codeplex项目存在一个悬而未决的问题。

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

最新更新