Senang sekali
http://blog.csdn.net/Haohappy2004
Serangan injeksi SQL adalah metode paling umum yang digunakan peretas untuk menyerang situs web. Jika situs Anda tidak menggunakan validasi input pengguna yang ketat, situs Anda sangat rentan terhadap serangan injeksi SQL. Serangan injeksi SQL biasanya diterapkan dengan mengirimkan data buruk atau pernyataan kueri ke database situs, yang dapat menyebabkan catatan dalam database terekspos, diubah, atau dihapus. Mari kita bahas tentang bagaimana serangan injeksi SQL diterapkan dan cara mencegahnya.
Lihat contoh ini:
// input seharusnya
$name = "ilia'; HAPUS DARI pengguna;";
mysql_query("PILIH * DARI pengguna WHERE nama='{$nama}'");
Jelas sekali bahwa perintah terakhir yang dijalankan oleh database adalah:
SELECT * FROM users WHERE name=ilia;
Hal ini mempunyai konsekuensi yang sangat buruk bagi database - semua catatan telah dihapus.
Namun jika database yang Anda gunakan adalah MySQL, untungnya fungsi mysql_query() tidak memungkinkan Anda melakukan operasi tersebut secara langsung (operasi beberapa pernyataan tidak dapat dilakukan dalam satu baris), jadi Anda dapat yakin. Jika database yang Anda gunakan adalah SQLite atau PostgreSQL dan mendukung pernyataan tersebut, Anda akan menghadapi bencana.