栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C# > C#教程

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

C#教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

本文实例讲述了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, @"



我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号