C#实现过滤sql特殊字符的方法集合

2019-12-26 14:09:50王旭
  • //单引号替换成两个单引号  source = source.Replace("'", "''"); 
  • //半角封号替换为全角封号,防止多语句执行  source = source.Replace(";", ";"); 
  • //半角括号替换为全角括号  source = source.Replace("(", "("); 
  • source = source.Replace(")", ")");  ///////////////要用正则表达式替换,防止字母大小写得情况//////////////////// 
  • //去除执行存储过程的命令关键字  source = source.Replace("Exec", ""); 
  • source = source.Replace("Execute", "");  //去除系统存储过程或扩展存储过程关键字 
  • source = source.Replace("xp_", "x p_");  source = source.Replace("sp_", "s p_"); 
  • //防止16进制注入  source = source.Replace("0x", "0 x"); 
  • return source;  } 
  • #endregion 

    3.

     

     
    1. /// 过滤SQL字符。  /// </summary> 
    2. /// <param name="str">要过滤SQL字符的字符串。</param>  /// <returns>已过滤掉SQL字符的字符串。</returns> 
    3. public static string ReplaceSQLChar(string str)  { 
    4. if (str == String.Empty)  return String.Empty; str = str.Replace("'", "‘"); 
    5. str = str.Replace(";", ";");  str = str.Replace(",", ",");