HttpUtility.HtmlEncode安全吗?

时间:2010-12-18 22:06:52

标签: asp.net html security text exploit

我希望用户输入文本,我希望将文本显示给用户并保留所有空格。我不想要任何漏洞,并让用户注入html或javascript。 HttpUtility.HtmlEncode足够安全吗? ATM看起来正确,因为它正确编码< >和其他测试字母。要正确显示文本我使用什么?现在我正在使用<pre><code>。它看起来没问题,这是显示它的正确方法吗?

2 个答案:

答案 0 :(得分:4)

对于任何HTML代码或JavaScript,HtmlEncode应该是安全的。任何HTML标记字符都将被编码,以便它们在网页上显示时仅显示为其他字符。

是的,如果我想保持格式化(包括所有空格),我会使用<pre>

答案 1 :(得分:1)

您需要查看Web Protection Library的AntiXSS部分中的GetSafeHTMLFragment方法。这使用了用于XSS目的的HTML被认为是“安全”的白名单,白名单中没有的任何东西都被删除了。 Blowdart(谁在WPL团队工作)在使用该方法方面有很好的blogpost