Rumah > Artikel > pangkalan data > Bagaimana untuk Melaksanakan Pertanyaan Parameter dengan Sambungan MySQL dalam PHP untuk Mencegah Suntikan SQL?
Pertanyaan Berparameter dengan Sambungan MySQL dalam PHP
Memastikan keselamatan aplikasi pangkalan data anda adalah terpenting dan pertanyaan berparameter adalah pertahanan penting terhadap SQL serangan suntikan. Teknik ini melibatkan pemprosesan input pengguna sebagai parameter dan bukannya sintaks SQL langsung, dengan berkesan menghalang manipulasi aksara berniat jahat.
Dalam kod anda, pendekatan tidak selamat menggunakan penggabungan untuk parameter nama pengguna dan kata laluan terdedah kepada suntikan. Untuk membetulkannya, ikuti langkah berikut:
Sediakan Pertanyaan Berparameter:
<code class="php">$stmt = mysqli_prepare($dbc, "SELECT * FROM users WHERE username = ? AND password = ?");</code>
Ini menyediakan pernyataan dengan pemegang tempat (?) mewakili parameter yang akan diluluskan.
Parameter Ikat:
<code class="php">mysqli_stmt_bind_param($stmt, "ss", $userName, $userPass);</code>
Di sini, "ss" menentukan jenis parameter: dua rentetan. $userName dan $userPass terikat pada parameter ini.
Laksanakan Pernyataan:
<code class="php">mysqli_stmt_execute($stmt);</code>
Ini melaksanakan pertanyaan berparameter dengan terikat parameter.
Ambil Hasil:
<code class="php">$row = mysqli_stmt_fetch($stmt);</code>
Ini mendapatkan semula baris hasil, yang kemudiannya boleh diperiksa untuk kewujudan atau manipulasi selanjutnya.
Syor Tambahan:
Dengan mengikuti langkah ini, anda boleh meningkatkan keselamatan aplikasi PHP anda dan melindungi mereka daripada kelemahan suntikan SQL. Ingat, pertanyaan berparameter ialah teknik penting dalam pengaturcaraan pangkalan data moden dan harus sentiasa digunakan untuk pemprosesan input pengguna.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pertanyaan Parameter dengan Sambungan MySQL dalam PHP untuk Mencegah Suntikan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!