Keamanan Database PHP: Mencegah Serangan SQL Injection

Dipublikasikan: 14 Juli 2021

Saat Anda membangun modul dinamis dengan PHP (misalnya sistem pengelolaan jadwal, manajemen aset, atau absensi), ancaman terbesar bagi data perusahaan Anda adalah SQL Injection.

Tinggalkan Eksekusi Query Langsung

Menggabungkan input pengguna langsung ke dalam string query SQL adalah kesalahan fatal yang sering dilakukan *developer* pemula. Peretas dapat menyisipkan kode berbahaya pada form login atau pencarian untuk menghapus seluruh tabel database Anda.

// Solusi Terbaik: Gunakan PDO Prepared Statements
$stmt = $pdo->prepare('SELECT * FROM users WHERE username = :user');
$stmt->execute(['user' => $input_username]);
$user = $stmt->fetch();

Metode Prepared Statements memastikan database memperlakukan input semata-mata sebagai data teks, bukan sebagai perintah yang harus dieksekusi.