3

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

4

2 回答 2

5

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

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

于 2010-12-18T22:39:09.347 回答
1

您需要查看Web 保护库的 AntiXSS 部分中的 GetSafeHTMLFragment 方法。这使用了一个 HTML 被认为是“安全”的白名单,用于 XSS 目的,任何不在白名单中的内容都会被删除。Blowdart(在 WPL 团队工作)有一篇关于使用该方法的精彩博文。

于 2010-12-18T23:12:15.427 回答