我正在尝试将XSS攻击限制到一个站点,并且在使用AntiXss库之前对任何不受信任的字符串进行编码,然后才包含在响应中。
AntiXssEncoder.HtmlEncode(_Title, False)
我的数据库值如下所示 - If There's a Fire
,编码后会在屏幕上显示html代码。奇怪的是,源代码还包含带有放大器的html代码;#39;但浏览器将其显示为文本而不是正确的字符。
我做错了什么?
答案 0 :(得分:0)
问题是因为该值被编码了两次
答案 1 :(得分:0)
首先,
使用WebUtility.HtmlDecode(HTMLEncodedValue);
然后,
如果要在某些HTML控件(如表数据<td></td>
)中显示值,请使用controlID.innerHtml
而不是controlID.innerText。
如果对您没有帮助,请回复更多细节。