3

我正在 ASP.NET 上开发 Web 应用程序,我从用户那里获取 textarea 输入,然后在网站上显示此输入。在将输入保存到数据库时,我没有对输入进行编码,而是直接将它们写入 db。

如果输入包含“输入”,我不想丢失换行符。所以我正在替换这样的数据: Replace("\r\n", " <br />")

为了在显示之前防止 XSS 攻击,我正在使用 Microsoft 的 AntiXSS 库的 Microsoft.Security.Application.Encoder.HtmlEncode 函数对数据进行编码。

此函数还对“”进行编码<br/>,并且在屏幕上我没有任何换行符。

如果我先用 AntiXSS 编码,然后用“”替换“\r\n”,<br/>我也没有得到任何换行符,因为我认为 AntiXSS 删除了“\r\n”。

如果我使用 Server.HtmlEncode 然后将 "\r\n" 替换为 " <br/>" 那么一切都很好。但我想使用 AntiXSS 库,但我不知道如何实现这一点。

有没有办法使用 AntiXSS HtmlEncode 函数打印换行符?

谢谢

4

0 回答 0