Menggunakan Parameter untuk Melindungi Pertanyaan SQL dalam VB
Dalam VB, adalah penting untuk menggunakan parameter semasa mengemas kini pangkalan data SQL untuk mengelakkan serangan suntikan SQL . Pertimbangkan kod berikut yang bertujuan untuk mengemas kini jadual pangkalan data:
dbConn = New SqlConnection("server=.\SQLEXPRESS;Integrated Security=SSPI; database=FATP") dbConn.Open() MyCommand = New SqlCommand("UPDATE SeansMessage SET Message = '" & TicBoxText.Text & _ "'WHERE Number = 1", dbConn) MyDataReader = MyCommand.ExecuteReader() MyDataReader.Close() dbConn.Close()
Apabila berhadapan dengan input yang mengandungi aksara khas seperti tanda petikan tunggal atau berganda, kod ini boleh ranap. Untuk membetulkan isu ini, anda mesti menggunakan parameter, yang dinamakan secara khusus parameter yang menyerupai pembolehubah dalam bahasa pengaturcaraan.
MyCommand = New SqlCommand("UPDATE SeansMessage SET Message = @TicBoxText WHERE Number = 1", dbConn) MyCommand.Parameters.AddWithValue("@TicBoxText", TicBoxText.Text)
Dalam kod ini, "@TicBoxText" digunakan sebagai nama parameter dan nilai dibekalkan melalui " AddWithValue." Perintah itu menjadi serba lengkap, melindunginya daripada manipulasi pengguna. Kaedah "ExecuteReader" kemudiannya boleh dilaksanakan dengan selamat tanpa gangguan.
Atas ialah kandungan terperinci Bagaimanakah Parameter Boleh Menghalang Suntikan SQL dalam Kemas Kini Pangkalan Data VB.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!