Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我希望用户输入文本,我想将文本显示给用户并保留所有空格。我不想要任何漏洞并让用户注入 html 或 javascript。HttpUtility.HtmlEncode 是否足够安全使用?ATM 它看起来正确,因为它正确编码< >和其他测试字母。要正确显示文本,我应该使用什么?现在我正在使用<pre><code>. 看起来不错,这是正确的显示方式吗?
<
>
<pre><code>
就任何 HTML 代码或 JavaScript 而言,HtmlEncode 应该是安全的。任何 HTML 标记字符都将被编码,以便它们在网页上显示时仅显示为其他字符。
是的,如果我想保持格式(包括所有空格),我会使用<pre>.
<pre>
您需要查看Web 保护库的 AntiXSS 部分中的 GetSafeHTMLFragment 方法。这使用了一个 HTML 被认为是“安全”的白名单,用于 XSS 目的,任何不在白名单中的内容都会被删除。Blowdart(在 WPL 团队工作)有一篇关于使用该方法的精彩博文。