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;
}

 

 

相关教程
  • 互联网资产管理须持牌经营 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
  • 林海起诉海底捞侵权 对方回应:已停止播放其音乐作品 2018-06-23
  • 新疆伊犁:薰衣草香飘万里 “紫色经济”成产业 2018-06-23
  • 《与书行》第一集先导片丨李小白:阅读让时尚圈回归平静 2018-06-23
  • 太原:幸福是奋斗出来的--山西频道--人民网 2018-06-23
  • 206| 432| 53| 299| 73| 1000| 906| 389| 176| 701| 97| 526| 342| 163| 124|