首先也要明白一點,什麼是SQL註入 所謂SQL註入,就是通過把SQL命令插入到Web表單提交或輸入功能變數名稱或頁面請求的查詢字元串,最終達到欺騙伺服器執行惡意的SQL命令。具體來說,它是利用現有應用程式,將(惡意的)SQL命令註入到後臺資料庫引擎執行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得 ...
首先也要明白一點,什麼是SQL註入
所謂SQL註入,就是通過把SQL命令插入到Web表單提交或輸入功能變數名稱或頁面請求的查詢字元串,最終達到欺騙伺服器執行惡意的SQL命令。具體來說,它是利用現有應用程式,將(惡意的)SQL命令註入到後臺資料庫引擎執行的能力,它可以通過在Web表單中輸入(惡意)SQL語句得到一個存在安全漏洞的網站上的資料庫,而不是按照設計者意圖去執行SQL語句。
1.直接參數化,那麼在直接處理SQL語句時,把值給傳遞過來的時候,我們不要直接進行賦值,而是要把這些欄位的值參數化,然後再進行賦值,後續還有其他的處理方式待補充,我也需要做個驗證
cmd.CommandText = @"select count(*) from UserInfo where UserName=@UserName and UserPwd=@UserPwd"; cmd.Parameters.AddWithValue("@UserName",txtUserName.Text); //SQL參數化 cmd.Parameters.AddWithValue("@UserPwd",txtUserPwd.Text); object result = cmd.ExecuteScalar();