0

我正在做一些 AntiXSS 工作。用户输入一些文本,然后通过

Microsoft.Security.Application.Encoder.HtmlEncode();

并保存到数据库中。

然后可以在标签或文本框中显示此文本。

如果我将编码的文本放入标签的文本属性中,它会显示得很好。如果我将它分配给文本框的文本属性,它会以编码形式显示。

如何在文本框和标签中正确显示文本?该库是否提供任何解码机制?

由于项目要求,我无法更改库或它在输入上编码的事实。

4

3 回答 3

1

您可以使用Server.HtmlDecodeHttpUtility.HtmlDecode

于 2012-08-22T13:03:14.033 回答
1

你这样做是错的。您不应该 HtmlEncode 输入并将其保存到数据库,因为没有支持的解码方式。相反,您应该保存原始信息并在显示时对其进行编码。

于 2015-02-13T07:23:13.490 回答
0

我建议 GetSafeHtmlFragment用于删除不在白名单上的所有标签和属性。下面的链接会有所帮助。

于 2016-05-20T13:48:01.023 回答