使用AntiXss.HtmlEncode时出现奇怪的结果

时间:2014-11-20 11:51:55

标签: .net encoding antixsslibrary

我正在尝试将XSS攻击限制到一个站点,并且在使用AntiXss库之前对任何不受信任的字符串进行编码,然后才包含在响应中。

AntiXssEncoder.HtmlEncode(_Title, False)

我的数据库值如下所示 - If There's a Fire,编码后会在屏幕上显示html代码。奇怪的是,源代码还包含带有放大器的html代码;#39;但浏览器将其显示为文本而不是正确的字符。

我做错了什么?

2 个答案:

答案 0 :(得分:0)

问题是因为该值被编码了两次

答案 1 :(得分:0)

首先,

使用WebUtility.HtmlDecode(HTMLEncodedValue);

正确解码以前的编码值

然后, 如果要在某些HTML控件(如表数据<td></td>)中显示值,请使用controlID.innerHtml 而不是controlID.innerText。

如果对您没有帮助,请回复更多细节。