欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#檢測(cè)是否有危險(xiǎn)字符的SQL字符串過(guò)濾方法

 更新時(shí)間:2014年07月25日 16:34:22   投稿:shichen2014  
這篇文章主要介紹了C#檢測(cè)是否有危險(xiǎn)字符的SQL字符串過(guò)濾方法,功能非常實(shí)用,對(duì)于程序設(shè)計(jì)的安全來(lái)說(shuō)至關(guān)重要!需要的朋友可以參考下

本文以一個(gè)C#的SQL數(shù)據(jù)庫(kù)字串操作函數(shù)為例,說(shuō)明如何實(shí)現(xiàn)對(duì)SQL字符串過(guò)濾、檢測(cè)SQL是否有危險(xiǎn)字符、修正sql語(yǔ)句中的轉(zhuǎn)義字符,確保SQL不被注入等功能。具體實(shí)現(xiàn)代碼如下:

SQL字符串過(guò)濾函數(shù):

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

以下是檢測(cè)SQL語(yǔ)句中是否包含有非法危險(xiǎn)的字符:

/// <summary>
/// 檢測(cè)是否有Sql危險(xiǎn)字符
/// </summary>
/// <param name="str">要判斷字符串</param>
/// <returns>判斷結(jié)果</returns>
public static bool IsSafeSqlString(string str)
{
  return !Regex.IsMatch(str, @"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']");
}
/// <summary>
/// 改正sql語(yǔ)句中的轉(zhuǎn)義字符
/// </summary>
public static string mashSQL(string str)
{
  string str2;
  if (str == null)
  {
    str2 = "";
  }
  else
  {
    str = str.Replace("\'", "'");
    str2 = str;
  }
  return str2;
}
  • 解決unity rotate旋轉(zhuǎn)物體 限制物體旋轉(zhuǎn)角度的大坑

    解決unity rotate旋轉(zhuǎn)物體 限制物體旋轉(zhuǎn)角度的大坑

    這篇文章主要介紹了解決unity rotate旋轉(zhuǎn)物體 限制物體旋轉(zhuǎn)角度的大坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • C#瀏覽器提示跨域問(wèn)題解決方案

    C#瀏覽器提示跨域問(wèn)題解決方案

    這篇文章主要介紹了C#瀏覽器提示跨域問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • C#與C++?dll之間傳遞字符串string?wchar_t*?char*?IntPtr問(wèn)題

    C#與C++?dll之間傳遞字符串string?wchar_t*?char*?IntPtr問(wèn)題

    C#與C++?dll之間傳遞字符串string?wchar_t*?char*?IntPtr問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • WPF基礎(chǔ)教程之形狀畫(huà)刷與變換詳解

    WPF基礎(chǔ)教程之形狀畫(huà)刷與變換詳解

    這篇文章主要給大家介紹了關(guān)于WPF基礎(chǔ)教程之形狀畫(huà)刷與變換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • C#的Excel導(dǎo)入、導(dǎo)出

    C#的Excel導(dǎo)入、導(dǎo)出

    這篇文章主要為大家詳細(xì)介紹了C#的Excel導(dǎo)入、導(dǎo)出的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • c#的datatable轉(zhuǎn)list示例

    c#的datatable轉(zhuǎn)list示例

    這篇文章主要介紹了c#的datatable轉(zhuǎn)list示例,代碼中有注釋,需要的朋友可以參考下
    2014-04-04
  • Winform窗體如何改變語(yǔ)言類型

    Winform窗體如何改變語(yǔ)言類型

    這篇文章主要介紹了Winform窗體如何改變語(yǔ)言類型,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-11-11
  • 使用VS2010 C#開(kāi)發(fā)ActiveX控件(上)

    使用VS2010 C#開(kāi)發(fā)ActiveX控件(上)

    最近做讀卡器的B/S應(yīng)用程序開(kāi)發(fā),由于讀卡器廠商提供的手冊(cè)都是C/S版本的,而且只有一個(gè)原始的Dll包,并沒(méi)有web版的,那么就只好自己動(dòng)手,豐衣足食了
    2011-05-05
  • 詳解如何在C#中處理空值

    詳解如何在C#中處理空值

    在任何編程語(yǔ)言中開(kāi)發(fā)應(yīng)用程序時(shí),經(jīng)常會(huì)遇到空異?;蚩找卯惓?,那么下面讓我們探討一下在C#中處理空值的各種方法吧,需要的可以收藏下
    2023-07-07
  • 最新評(píng)論