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

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

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

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

SQL字符串過濾函數(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;
}

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

/// <summary>
/// 檢測是否有Sql危險(xiǎn)字符
/// </summary>
/// <param name="str">要判斷字符串</param>
/// <returns>判斷結(jié)果</returns>
public static bool IsSafeSqlString(string str)
{
  return !Regex.IsMatch(str, @"[-|;|,|\/|\(|\)|\[|\]|\}|\{|%|@|\*|!|\']");
}
/// <summary>
/// 改正sql語句中的轉(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à)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • C#瀏覽器提示跨域問題解決方案

    C#瀏覽器提示跨域問題解決方案

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

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

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

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

    這篇文章主要給大家介紹了關(guān)于WPF基礎(chǔ)教程之形狀畫刷與變換的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(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窗體如何改變語言類型

    Winform窗體如何改變語言類型

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

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

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

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

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