Memasukkan Pembolehubah PHP ke dalam Penyata MySQL
Apabila memasukkan pembolehubah PHP dalam pernyataan MySQL, adalah penting untuk memahami peraturan untuk memastikan integriti data dan mencegah potensi kelemahan keselamatan.
1. Gunakan Penyata Disediakan untuk Literal Data
Apakah: Semua pembolehubah PHP yang mewakili literal data SQL (rentetan atau nombor) mesti disertakan melalui pernyataan yang disediakan.
Sebab: Penyataan yang disediakan membersihkan dan melindungi data dengan menghalang suntikan SQL serangan.
Bagaimana:
Contoh menggunakan mysqli:
$type = 'testing'; $reporter = "John"; $sql = "INSERT INTO contents (type, reporter, description) VALUES ('whatever', ?, ?)"; $stmt = $mysqli->prepare($sql); $stmt->bind_param("ss", $reporter, $description); $stmt->execute();
Cara menggunakan PDO:
$type = 'testing'; $reporter = "John"; $sql = "INSERT INTO contents (type, reporter, description) VALUES ('whatever', ?, ?)"; $stmt = $pdo->prepare($sql); $stmt->execute([$reporter, $description]);
2. Penapisan Senarai Putih untuk Bahagian Pertanyaan
Apakah: Pembolehubah yang mewakili bahagian pertanyaan lain (kata kunci, pengecam) mesti ditapis melalui "senarai putih" nilai yang dibenarkan.
Sebab: Untuk menghalang pengguna berniat jahat daripada menyuntik bahagian pertanyaan yang tidak dibenarkan atau kata kunci.
Cara:
Contoh:
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Pembolehubah PHP dengan Selamat ke dalam Penyata MySQL untuk Mencegah Suntikan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!