一个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先行者学习网