标题 | SQL字符串过滤 检测是否有危险字符 |
内容 | 一个C# SQL数据库字串操作函数,可实现对SQL字符串过滤、检测SQL是否有危险字符、修正sql语句中的转义字符,确保SQL不被注入: SQL字符串过滤函数: 01public static bool ProcessSqlStr(string Str) 02{ 03 bool ReturnValue = true; 04 try 05 { 06 if (Str.Trim() != "") 07 { 08 string SqlStr ="exec|insert+|select+|delete|update|count|chr|mid|master+ |truncate|char|declare|drop+|drop+table|creat+ |create|*|iframe|script|"; 09 SqlStr +="exec+|insert|delete+|update+|count(|count+|chr+|+mid (|+mid+|+master+|truncate+|char+| +char(|declare+|drop+table|creat+table"; 10 string[] anySqlStr = SqlStr.Split('|'); 11 foreach (string ss in anySqlStr) 12 { 13 if (Str.ToLower().IndexOf(ss) >= 0) 14 { 15 ReturnValue = false; 16 break; 17 } 18 } 19 } 20 } 21 catch 22 { 23 ReturnValue = false; 24 } 25 return ReturnValue; 26} 以下是检测SQL语句中是否包含有非法危险的字符: view sourceprint?01/// 02/// 检测是否有Sql危险字符 03/// 04/// 要判断字符串 05/// 判断结果 06public static bool IsSafeSqlString(string str) 07{ 08 return !Regex.IsMatch(str, @"[-|;|,|/|(|)|[|]|}|{|%|@|*|!|']"); 09} 10/// 11/// 改正sql语句中的转义字符 12/// 13public static string mashSQL(string str) 14{ 15 string str2; 16 if (str == null) 17 { 18 str2 = ""; 19 } 20 else 21 { 22 str = str.Replace("'", "'"); 23 str2 = str; 24 } 25 return str2; 26} |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。