我希望用户输入文本,我希望将文本显示给用户并保留所有空格。我不想要任何漏洞,并让用户注入html或javascript。 HttpUtility.HtmlEncode足够安全吗? ATM看起来正确,因为它正确编码<
>
和其他测试字母。要正确显示文本我使用什么?现在我正在使用<pre><code>
。它看起来没问题,这是显示它的正确方法吗?
答案 0 :(得分:4)
对于任何HTML代码或JavaScript,HtmlEncode应该是安全的。任何HTML标记字符都将被编码,以便它们在网页上显示时仅显示为其他字符。
是的,如果我想保持格式化(包括所有空格),我会使用<pre>
。
答案 1 :(得分:1)
您需要查看Web Protection Library的AntiXSS部分中的GetSafeHTMLFragment方法。这使用了用于XSS目的的HTML被认为是“安全”的白名单,白名单中没有的任何东西都被删除了。 Blowdart(谁在WPL团队工作)在使用该方法方面有很好的blogpost。