我知道互联网上载有关于转义字符的信息,但我没有具体找到我需要的信息。我正在查询数据库中的库存信息,库存描述可能包含需要转义的各种“危险”字符。当我循环浏览数据读取器时,我需要用该字符的转义版本替换任何潜在问题字符的所有实例。我看过Regex.Escape,但它遗漏了几个关键字符,如引号。还有Regex.Replace,但如果我替换的字符可以是任意数量的东西,我如何告诉它替换字符串应该是什么?我该如何处理以下内容:
SQL查询为库存描述返回以下结果集:
**我认识到描述本身存在更深层次的问题,但假设这是我必须处理的数据......
SqlDataReader dr = command.ExecuteReader()
while(dr.Read())
{
string partDescription = dr["Description"].ToString(); //Here is where I need to escape any characters posing a potential issue
}
答案 0 :(得分:1)
您知道Web Protection Library(以前称为AntiXSS)吗?这包含很多转义(HTML,Javascript,XML)。
答案 1 :(得分:1)
如果这仅用于显示目的(在网络上),那么您只需要在显示它们之前对Html进行编码。你可以使用HttpUtility
来做到这一点HttpUtility.HtmlEncode("<script>alert('yo');</script>");