看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《mywheat (麥田)》之銘言: : 請問,在 VB.NET 下怎麼預防 SQL INJECTION 的問題呢? : 有無內建函式可以檢查的呢? : 謝謝.. 1) 把單引號置換成兩個單引號 (SQL Server會視為一個單引號字元) id = replace(id, "'", "''") sql = "select * from account where id='" & id & '" 2) 乾脆就把單引號移除 id = replace(id, "'", "") 3) 檢查使用者有輸入特殊符號,就顯示警告訊息 If id.IndexOf("'") >= 0 Then MsgBox "帳號中不可以有單引號喔" End If 4) 欄位為數字型態時,檢查使用者輸入是否為數字 If Not IsNumeric(txtHeight.Text) Then MsgBox "身高欄位必須輸入數字" End If 5) 輸入文字用來當然物件(資料表、函數、...)名稱時,用中括號包起來 sql = "select * from [data_" & username & "]" -- ▃▅▇▆▄ ▆▂▃ ` 逝去感如何能留住,半點遺留殊不易,██▅▇▄▃ ▇▃▂" . █████████▃i ▁▄▇ 更多悽悽慘慘的遭遇………██▆▃ █▅▆▃ˍ▄* ▂█▄▇▅▂. 我不知道,王~八~蛋~~! ▂▆███ █▄▃ 。fumizuki。Check。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.224.174
shqpaxson:不是好方法,用SQL內建的傳參數方式最好 04/29 13:24