编码和解码 html 以防止 VB 中的 xss

Encode and decode html to prevent xss in VB

我想在我的应用程序中防止 xss。我有一个我应该能够接受的文本输入,例如 <script>alert(1)</script> 但是当我保存它时,如果我使用它进行编码:System.Web.HttpUtility.HtmlEncode(Me.txtUsername.Text)

我将能够保存此字符串的编码版本:

&lt;script&gt;alert(1)&lt;/script&gt;

我以后应该如何在不让脚本执行的情况下显示它? 如果我解码它,脚本将被执行。 我想稍后将其显示为 <script>alert(1)</script>

只显示文字。不要解码它。让浏览器为您完成。

另请参阅此答案,了解 html 编码无法保护您免受的其他类型的 XSS 漏洞:

如果您的文本未被解码,您可以使用 jQuery

$("<div/>").html(yourString).text();