HttpUtility.HtmlEncode 安全吗?
我希望用户输入文本,并且我想将文本显示给用户并保留所有空格。我不希望任何漏洞利用并让用户注入 html 或 javascript。 HttpUtility.HtmlEncode 使用起来是否足够安全? ATM 它看起来正确,因为它正确编码 <
>
和其他测试字母。要正确显示文本,我该使用什么?现在我正在使用。看起来不错,这是正确的显示方式吗?
I want the user to enter text and i would like to show the text back to the user and keep all the whitespaces. I dont want any exploits and have the user inject html or javascript. Is HttpUtility.HtmlEncode safe enough to use? ATM it looks correct since its properly encoding <
>
and other test letters. To display the the text back correctly what do i use? right now i am using <pre><code>
. It looks alright, is this the correct way to display it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
HtmlEncode 对于任何 HTML 代码或 JavaScript 来说都应该是安全的。所有 HTML 标记字符都将被编码,以便它们在网页上显示时仅显示为其他字符。
是的,如果我想保持格式(包括所有空格),我会使用
HtmlEncode should be secure as far as any HTML codes or JavaScript. Any HTML markup characters will be encoded so that they appear only as other characters when displayed on a web page.
Yes, if I wanted to keep formatting (including all spaces), I would use
<pre>
.您需要查看 Web 保护库 的 AntiXSS 部分中的 GetSafeHTMLFragment 方法。这使用了一个白名单,其中的 HTML 被认为是“安全”的,用于 XSS 目的,任何不在白名单中的内容都会被删除。 Blowdart(在 WPL 团队工作)有一个很棒的关于使用该方法的博客文章。
You'll want to have a look at the GetSafeHTMLFragment method in the AntiXSS section of the Web Protection Library. This uses a whitelist of what HTML is considered 'safe' for XSS purposes, anything not in the whitelist is stripped out. Blowdart (who works on the WPL team) has a great blogpost on using the method.