Database & SQL 5 Juni 2026 FMKelana

Mencegah SQL Injection di Laravel: Panduan Lengkap

#security #laravel #sql-injection #php

Apa itu SQL Injection?

SQL Injection adalah teknik serangan siber dimana penyerang menyisipkan query SQL berbahaya melalui input pengguna untuk memanipulasi database. Celah ini terjadi ketika aplikasi menggabungkan input pengguna langsung ke dalam query SQL tanpa sanitasi yang tepat.

Demonstrasi Celah

Kode rentan:

// JANGAN DITIRU — Kode Rentan
DB::select("SELECT * FROM users WHERE email = '" . $request->email . "'");

Penyerang bisa memasukkan: [email protected]' OR '1'='1 dan mendapatkan akses ke semua data.

Pencegahan dengan Laravel

Laravel menyediakan proteksi bawaan melalui Eloquent ORM dan Query Builder yang menggunakan parameter binding:

// Aman — menggunakan Eloquent
User::where('email', $request->email)->first();

// Aman — Query Builder dengan parameter binding
DB::select('SELECT * FROM users WHERE email = ?', [$request->email]);

Tips Tambahan

  • Gunakan Eloquent ORM sebanyak mungkin
  • Validasi input dengan Form Request
  • Jangan pernah menggabungkan string untuk query
  • Batasi hak akses database user aplikasi

Kesimpulan

SQL Injection adalah salah satu celah paling berbahaya namun paling mudah dicegah. Dengan menggunakan Eloquent dan praktik coding yang aman, Anda bisa melindungi aplikasi dari serangan ini.

Bagikan:

Komentar (0)

Belum ada komentar. Jadilah yang pertama!

Tinggalkan Komentar