VB.net 2010 视频教程 VB.net 2010 视频教程 VB.net 2010 视频教程
当前位置:
主页 > 编程开发 > c#教程 >
  • C#教程之C#检测是否有危险字符的SQL字符串过滤方

  • 2018-06-04 11:20 来源:未知

体育彩票排列三 www.o1y4.com.cn 本文以一个C#的SQL数据库字串操作函数为例,说明如何实现对SQL字符串过滤、检测SQL是否有危险字符、修正sql语句中的转义字符,确保SQL不被注入等功能。具体实现代码如下:

SQL字符串过滤函数:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public static bool ProcessSqlStr(string Str)
{
  bool ReturnValue = true;
  try
  {
    if (Str.Trim() != "")
    {
      string SqlStr = "exec|insert+|select+|delete|update|count|chr|mid|master+|truncate|char|declare|drop+|drop+table|creat+|create|*|iframe|script|";
      SqlStr += "exec+|insert|delete+|update+|count(|count+|chr+|+mid(|+mid+|+master+|truncate+|char+|+char(|declare+|drop+table|creat+table";
      string[] anySqlStr = SqlStr.Split('|');
      foreach (string ss in anySqlStr)
      {
        if (Str.ToLower().IndexOf(ss) >= 0)
        {
          ReturnValue = false;
          break;
        }
      }
    }
  }
  catch
  {
    ReturnValue = false;
  }
  return ReturnValue;
}

以下是检测SQL语句中是否包含有非法危险的字符:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/// <summary>
/// 检测是否有Sql危险字符
/// </summary>
/// <param name="str">要判断字符串</param>
/// <returns>判断结果</returns>
public static bool IsSafeSqlString(string str)
{
  return !Regex.IsMatch(str, @"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']");
}
/// <summary>
/// 改正sql语句中的转义字符
/// </summary>
public static string mashSQL(string str)
{
  string str2;
  if (str == null)
  {
    str2 = "";
  }
  else
  {
    str = str.Replace("\'", "'");
    str2 = str;
  }
  return str2;
}

 

 

相关教程
  • 北京市纪委监委通报:副局级干部55次坐头等舱被处分 2019-02-15
  • 十九大精神宣讲进民企 2019-02-15
  • 中国光大银行获第十二届人民企业社会责任奖年度扶贫奖 2019-01-30
  • 2018中国灯饰照明行业品牌论坛成功举办 2019-01-30
  • 你真是越活越转,越活越蠢。[哈哈] 2019-01-27
  • 互联网资产管理须持牌经营 2018-12-09
  • 新闻中心给记者留下美好记忆 2018-12-09
  • 险企偿付能力2017年“成绩单”:3家不达标 7家被关注 2018-12-07
  • 【学习时刻】清华大学周绍杰:坚定不移地贯彻落实新发展理念 2018-12-07
  • 建立市场经济,原本的计划经济哪里去?坚持集体的南街村没有到户就没有建立市场经济,是不是还在搞计划经济?看其实现公有资本在其所有者们进行分配应是计划经济。 2018-10-30
  • 市场经济就是一种唯利是图的经济,是一种波动、走极端的经济,新时期的发展方式与结果就是如 此。那么指望市场经济来解决需要与不平衡的矛盾,对症下药了吗? 2018-10-30
  • 比利时30大胜巴拿马 卢卡库梅开二度 强队总算没有都凉凉 2018-10-18
  • 新科欧洲状元 五盾军团能否延续法兰西之夏荣耀 2018-10-18
  • 河北一保时捷车主疑遭枪击 警方悬赏9万元通缉 2018-09-26
  • 【十九大·理论新视野】动漫:“社会主义现代化强国”如何建成 2018-09-26
  • 116| 612| 4| 301| 782| 227| 574| 376| 641| 780| 625| 785| 269| 806| 642|