SqlParameter防止SQL注入


 

  SQL注入的解決方案有好幾種,待我細細研究過之后逐一講解。

方法一:SqlParameter方法

這里有一篇博客是詳細介紹SqlParameter的,可以看看 點我

string sqlStr="select * from Table where Id=@AutoID";
  SqlParameter[] parameters = {
    new SqlParameter("@AutoID", SqlDbType.Int,4) };
  parameters[0].Value = AutoID;
cmd.Parameters.Add(parameters);  //如此調用

  如果參數不止一個的話,就多new幾個,然后使用AddRange()方法就可以。

大概就是上面代碼的那樣子是最常使用的。

SqlParameter方法的原理呢,就是參數化查詢時,用戶輸入的參數僅僅作為參數而永遠不會作為查詢語句的一部分

什么意思呢?直白的講,參數化之后,用戶輸入的東西僅僅的SQL語句的參數,在執行的時候加上 '' 它僅僅作為參數,不會變成SQL邏輯語句的一部分。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM