本文实例讲述了C#实现过滤sql特殊字符的方法集合。分享给大家供大家参考,具体如下:
1.
////// 过滤不安全的字符串 /// /// ///public static string FilteSQLStr(string Str) { Str = Str.Replace("'", ""); Str = Str.Replace(""", ""); Str = Str.Replace("&", "&"); Str = Str.Replace("<", "<"); Str = Str.Replace(">", ">"); Str = Str.Replace("delete", ""); Str = Str.Replace("update", ""); Str = Str.Replace("insert", ""); return Str; }
2.
#region 过滤 Sql 语句字符串中的注入脚本 ////// 过滤 Sql 语句字符串中的注入脚本 /// /// 传入的字符串 ///过滤后的字符串 public static string SqlFilter(string source) { //单引号替换成两个单引号 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.
/// 过滤SQL字符。 /// /// 要过滤SQL字符的字符串。 ///已过滤掉SQL字符的字符串。 public static string ReplaceSQLChar(string str) { if (str == String.Empty) return String.Empty; str = str.Replace("'", "‘"); str = str.Replace(";", ";"); str = str.Replace(",", ","); str = str.Replace("?", "?"); str = str.Replace("<", "<"); str = str.Replace(">", ">"); str = str.Replace("(", "("); str = str.Replace(")", ")"); str = str.Replace("@", "@"); str = str.Replace("=", "="); str = str.Replace("+", "+"); str = str.Replace("*", "*"); str = str.Replace("&", "&"); str = str.Replace("#", "#"); str = str.Replace("%", "%"); str = str.Replace("$", "¥"); return str; }
4.
////// 过滤标记 /// /// 包括HTML,脚本,数据库关键字,特殊字符的源码 ///已经去除标记后的文字 public string NoHtml(string Htmlstring) { if (Htmlstring == null) { return ""; } else { //删除脚本 Htmlstring = Regex.Replace(Htmlstring, @"", "", RegexOptions.IgnoreCase); //删除HTML Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"([rn])[s]+", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"热门相关搜索路由器设置 木托盘 宝塔面板 儿童python教程 心情低落 朋友圈 vim 双一流学科 专升本 我的学校 日记学校 西点培训学校 汽修学校 情书 化妆学校 塔沟武校 异形模板 西南大学排名 最精辟人生短句 6步教你追回被骗的钱 南昌大学排名 清朝十二帝 北京印刷学院排名 北方工业大学排名 北京航空航天大学排名 首都经济贸易大学排名 中国传媒大学排名 首都师范大学排名 中国地质大学(北京)排名 北京信息科技大学排名 中央民族大学排名 北京舞蹈学院排名 北京电影学院排名 中国戏曲学院排名 河北政法职业学院排名 河北经贸大学排名 天津中德应用技术大学排名 天津医学高等专科学校排名 天津美术学院排名 天津音乐学院排名 天津工业大学排名 北京工业大学耿丹学院排名 北京警察学院排名 天津科技大学排名 北京邮电大学(宏福校区)排名 北京网络职业学院排名 北京大学医学部排名 河北科技大学排名 河北地质大学排名 河北体育学院排名



