-1

我知道互联网上充斥着转义字符的信息,但我没有找到我需要的具体信息。我正在从数据库中查询库存信息,并且库存描述可能包含各种需要转义的“危险”字符。当我遍历我的数据阅读器时,我需要用该字符的转义版本替换任何潜在问题字符的所有实例。我看过 Regex.Escape,但它遗漏了一些关键字符,例如引号。还有Regex.Replace,但是如果我要替换的字符可以是任意数量的东西,我该如何告诉它替换字符串应该是什么?我将如何处理以下情况:

SQL Query 为库存描述返回以下结果集:

  • 3/4" 线
  • 5' 绳索@StoreX
  • 1 1\4" 六角螺母

**我认识到描述本身存在更深层次的问题,但假设这是我必须使用的数据......

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
 }
4

2 回答 2

1

您知道Web 保护库(以前称为 AntiXSS)吗?这包含很多转义(HTML、Javascript、XML)。

于 2012-07-12T14:12:10.750 回答
1

如果这仅用于显示目的(在网络上),那么您只需要在显示之前对值进行 Html 编码。您可以使用 HttpUtility 执行此操作

HttpUtility.HtmlEncode("<script>alert('yo');</script>");
于 2012-07-12T14:15:52.573 回答