我在需要接受HTML标记输入的表单中有一个文本框。使用HTML编码字符进行ASP.NET请求验证
使用HTML标记提交输入使应用程序抛出HttpRequestValidationException
,除非我们使用HttpUtility.HtmlEncode
。目前为止很简单。
但是,输入也可能包含符号,例如“度”符号(°)。当这些也是HTML编码时,它们变成数字转义码,在这个例子中为°
。这些代码也会导致HttpRequestValidationException
被抛出,但问题是为什么?
我不明白为什么数字转义代码被认为是潜在的危险,尤其是°
作为输入很好。
我似乎被卡住了,因为输入原样由于标记而失败,并且HTML编码输入由于数字转义而失败。我的解决方案到目前为止一直是HTML编码,然后正则表达式用他们的HTML解码格式替换转义序列,但我不知道这是否是一个安全的解决方案,因为我认为转义序列被视为危险的原因。
谢谢,最终的链接正是我所需要的。 – jonnystoten 2012-03-12 08:53:34