我正在 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 函数打印换行符?
谢谢