一个C# SQL数据库字串操作函数,可实现对SQL字符串过滤、检测SQL是否有危险字符、修正sql语句中的转义字符,确保SQL不被注入:US3HTML5中文学习网 - HTML5先行者学习网
  SQL字符串过滤函数:US3HTML5中文学习网 - HTML5先行者学习网
  01public static bool ProcessSqlStr(string Str)US3HTML5中文学习网 - HTML5先行者学习网
  02{US3HTML5中文学习网 - HTML5先行者学习网
  03 bool ReturnValue = true;US3HTML5中文学习网 - HTML5先行者学习网
  04 tryUS3HTML5中文学习网 - HTML5先行者学习网
  05 {US3HTML5中文学习网 - HTML5先行者学习网
  06 if (Str.Trim() != "")US3HTML5中文学习网 - HTML5先行者学习网
  07 {US3HTML5中文学习网 - HTML5先行者学习网
  08 string SqlStr  ="exec|insert+|select+|delete|update|count|chr|mid|master+US3HTML5中文学习网 - HTML5先行者学习网
|truncate|char|declare|drop+|drop+table|creat+US3HTML5中文学习网 - HTML5先行者学习网
|create|*|iframe|script|";US3HTML5中文学习网 - HTML5先行者学习网
  09 SqlStr  +="exec+|insert|delete+|update+|count(|count+|chr+|+midUS3HTML5中文学习网 - HTML5先行者学习网
(|+mid+|+master+|truncate+|char+|US3HTML5中文学习网 - HTML5先行者学习网
+char(|declare+|drop+table|creat+table";US3HTML5中文学习网 - HTML5先行者学习网
  10 string[] anySqlStr = SqlStr.Split('|');US3HTML5中文学习网 - HTML5先行者学习网
  11 foreach (string ss in anySqlStr)US3HTML5中文学习网 - HTML5先行者学习网
  12 {US3HTML5中文学习网 - HTML5先行者学习网
  13 if (Str.ToLower().IndexOf(ss) >= 0)US3HTML5中文学习网 - HTML5先行者学习网
  14 {US3HTML5中文学习网 - HTML5先行者学习网
  15 ReturnValue = false;US3HTML5中文学习网 - HTML5先行者学习网
  16 break;US3HTML5中文学习网 - HTML5先行者学习网
  17 }US3HTML5中文学习网 - HTML5先行者学习网
  18 }US3HTML5中文学习网 - HTML5先行者学习网
  19 }US3HTML5中文学习网 - HTML5先行者学习网
  20 }US3HTML5中文学习网 - HTML5先行者学习网
  21 catchUS3HTML5中文学习网 - HTML5先行者学习网
  22 {US3HTML5中文学习网 - HTML5先行者学习网
  23 ReturnValue = false;US3HTML5中文学习网 - HTML5先行者学习网
  24 }US3HTML5中文学习网 - HTML5先行者学习网
  25 return ReturnValue;US3HTML5中文学习网 - HTML5先行者学习网
  26}US3HTML5中文学习网 - HTML5先行者学习网
  以下是检测SQL语句中是否包含有非法危险的字符:US3HTML5中文学习网 - HTML5先行者学习网
  view sourceprint?01///US3HTML5中文学习网 - HTML5先行者学习网
  02/// 检测是否有Sql危险字符US3HTML5中文学习网 - HTML5先行者学习网
  03///US3HTML5中文学习网 - HTML5先行者学习网
  04/// 要判断字符串US3HTML5中文学习网 - HTML5先行者学习网
  05/// 判断结果US3HTML5中文学习网 - HTML5先行者学习网
  06public static bool IsSafeSqlString(string str)US3HTML5中文学习网 - HTML5先行者学习网
  07{US3HTML5中文学习网 - HTML5先行者学习网
  08 return !Regex.IsMatch(str,  @"[-|;|,|//|/(|/)|/[|/]|/}|/{|%|@|/*|!|/']");US3HTML5中文学习网 - HTML5先行者学习网
  09}US3HTML5中文学习网 - HTML5先行者学习网
  10///US3HTML5中文学习网 - HTML5先行者学习网
  11/// 改正sql语句中的转义字符US3HTML5中文学习网 - HTML5先行者学习网
  12///US3HTML5中文学习网 - HTML5先行者学习网
  13public static string mashSQL(string str)US3HTML5中文学习网 - HTML5先行者学习网
  14{US3HTML5中文学习网 - HTML5先行者学习网
  15 string str2;US3HTML5中文学习网 - HTML5先行者学习网
  16 if (str == null)US3HTML5中文学习网 - HTML5先行者学习网
  17 {US3HTML5中文学习网 - HTML5先行者学习网
  18 str2 = "";US3HTML5中文学习网 - HTML5先行者学习网
  19 }US3HTML5中文学习网 - HTML5先行者学习网
  20 elseUS3HTML5中文学习网 - HTML5先行者学习网
  21 {US3HTML5中文学习网 - HTML5先行者学习网
  22 str = str.Replace("/'", "'");US3HTML5中文学习网 - HTML5先行者学习网
  23 str2 = str;US3HTML5中文学习网 - HTML5先行者学习网
  24 }US3HTML5中文学习网 - HTML5先行者学习网
  25 return str2;US3HTML5中文学习网 - HTML5先行者学习网
  26}US3HTML5中文学习网 - HTML5先行者学习网