การทำ SQL Injection เช่น
dim s = " select * from tablename where column = '"& input &"' "
หากเราใส่ค่า input = " 1' or '1' = '1 " การนำ string มาต่อกันก็จะได้
select * from tablename where column ='1' or '1' = '1' ทำให้ query นี้เงื่อนไขเป็นจริง ทุกกรณี
ในกรณีนี้ผมใช้ OleDbCommand ในการทำงาน เพื่อแก้ปัญหา SQL Injection
ตัวอย่าง
Dim Connddthq As New OleDbConnection(ddthqcon)
Connddthq.Open()
str = " Select * from LOGIN_USER where USERNAME = ? and PASSWORD = ? and ACTIVE='Y' "
Dim Cmd As OleDbCommand = New OleDbCommand(str, Connddthq)
With Cmd
.Parameters.Add("", OleDbType.VarChar).Value = Trim(user)
.Parameters.Add("", OleDbType.VarChar).Value = Trim(pass)
End With
Dim da As New OleDbDataAdapter(Cmd)
da.Fill(Dt)
Connddthq.Close()
ไม่มีความคิดเห็น:
แสดงความคิดเห็น