防止SQL注入的ASP.NET方法執行個體解析

來源:互聯網
上載者:User
最近接手別人一個項目,發現存在SQL注入漏洞,因為不想改太多代碼,所以那種參數法防注入呢我就用不著了。只能用傳統的笨一點的辦法了。

1、建立Global.asax檔案。

2、加入如下代碼:

void Application_BeginRequest(object sender, EventArgs e){    bool result = false;    if (Request.RequestType.ToUpper() == "POST")    {       //post方式的我就不寫了。    }    else    {      result = ValidUrlGetData();    }    if (result)    {      Response.Write("您提交的資料有惡意字元!");      Response.End();    }}/// <summary>/// 擷取QueryString中的資料/// </summary>public static bool ValidUrlGetData(){    bool result = false;    for (int i = 0; i < HttpContext.Current.Request.QueryString.Count; i++)    {      result = Validate(HttpContext.Current.Request.QueryString[i].ToString());      if (result)      {        break;      }//如果檢測存在漏洞    }    return result;}public static string []strs = new string[] {"select","drop","exists","exec","insert","delete","update","and","or","user" };//此處我隨便加了幾個,大家可以多加點哈。public static bool Validate(string str){    for (int i = 0; i < strs.Length; i++)    {      if (str.IndexOf(strs[i]) != -1)      {        return true;        break;      }    }    return false;}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.