Mengelakkan Serangan Suntikan SQL dengan Pertanyaan Berparameter dalam MySQL
Dalam MySQL, adalah penting untuk menggunakan pertanyaan berparameter semasa memasukkan data untuk mengelakkan kelemahan keselamatan. Interpolasi rentetan, seperti yang ditunjukkan dalam coretan kod yang disediakan, terdedah kepada serangan suntikan SQL kerana ia tidak melarikan diri daripada parameter input secukupnya.
Sintaks yang betul untuk pertanyaan berparameter dalam MySQL menggunakan modul MySQLdb adalah seperti berikut:
cursor.execute (""" INSERT INTO Songs (SongName, SongArtist, SongAlbum, SongGenre, SongLength, SongLocation) VALUES (%s, %s, %s, %s, %s, %s) """, (var1, var2, var3, var4, var5, var6))
Dalam sintaks ini, ruang letak (%s) digunakan sebagai ganti nilai pembolehubah. Tuple (var1, var2, ..., var6) mengandungi nilai sebenar yang akan dimasukkan.
Dengan menggunakan pertanyaan berparameter, anda memastikan pelarian yang betul bagi semua parameter input, menghalang pelaku berniat jahat daripada menyuntik kod SQL yang berbahaya ke dalam pangkalan data anda dan mengeksploitasi potensi kelemahan.
Atas ialah kandungan terperinci Bagaimanakah Pertanyaan Berparameter Dapat Menghalang Suntikan SQL dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!