我正在ASP.NET上开发Web应用程序,我从用户那里获得textarea输入,然后在网站上显示此输入。在将输入保存到数据库时,我没有编码输入并直接将它们写入db。
如果输入包含“enter”,我不想丢失换行符。所以我正在替换这样的数据:
替换(“\ r \ n”,“<br />
”)
在显示之前防止XSS攻击我使用Microsoft的AntiXSS库的Microsoft.Security.Application.Encoder.HtmlEncode函数编码数据。
此功能还对“<br/>
”进行编码,在屏幕上我没有任何换行符。
如果我首先使用AntiXSS进行编码然后将“\ r \ n”替换为“<br/>
”我也没有获得任何换行符,因为我认为AntiXSS会删除“\ r \ n”。
如果我使用Server.HtmlEncode,然后用“<br/>
”替换“\ r \ n”,那么一切都很好。但我想使用AntiXSS库,我不知道如何实现这一点。
有没有办法使用AntiXSS HtmlEncode函数打印换行符?
由于