Kembali ke Semua Artikel Blog Security

Panduan Mencegah dan Mengatasi Serangan SQL Injection pada Website

Tim Technical Support AN Media
12 Aug 2026
Panduan Mencegah dan Mengatasi Serangan SQL Injection pada Website - Pembuatan Website & Aplikasi di Jember

Bahaya Serangan SQL Injection (SQLi) pada Aplikasi Web

Serangan **SQL Injection (SQLi)** merupakan salah satu celah keamanan paling berbahaya dalam OWASP Top 10. Peretas memanfaatkan formulir pencarian, login, atau parameter URL yang tidak disanitasi untuk menyisipkan perintah SQL ilegal. Akibatnya, peretas dapat menembus autentikasi tanpa password, mencuri database pengguna, hingga menghapus seluruh data pada server database Anda.

Langkah 1: Menggantikan Query Konvensional dengan Prepared Statements (PDO / MySQLi)

Jangan pernah menggabungkan variabel pengguna langsung ke dalam string query SQL. Gantikan query rentan dengan **Prepared Statements** menggunakan PDO (PHP Data Objects):

// SCRIPT RENTAN (DILARANG):\n$email = $_POST['email'];\n$result = $db->query("SELECT * FROM users WHERE email = '$email'"); // Sangat berbahaya!\n\n// AMAN: Menggunakan Prepared Statements PDO:\n$stmt = $pdo->prepare('SELECT id, password, role FROM users WHERE email = :email');\n$stmt->execute(['email' => $request->input('email')]);\n$user = $stmt->fetch();

Langkah 2: Memanfaatkan ORM (Eloquent / Doctrine) untuk Sanitasi Otomatis

Jika Anda menggunakan framework modern seperti Laravel atau Symfony, selalu gunakan fitur bawaan ORM (**Eloquent**) yang secara otomatis mengamankan query dengan parameter binding:

// AMAN: Query Eloquent Laravel terhindar dari SQLi secara otomatis:\n$user = User::where('email', $request->email)->first();\n\n// PERHATIAN: Jika harus menggunakan DB::raw(), pastikan memasukkan binding parameter:\n$users = DB::select(DB::raw("SELECT * FROM users WHERE status = :status"), ['status' => $status]);

Langkah 3: Menerapkan Validasi & Sanitasi Input yang Ketat

Pastikan setiap tipe data masukan pengguna divalidasi sesuai ekspektasi sebelum diproses oleh aplikasi:

  • Tipe Angka/ID: Lakukan casting tipe data secara tegas (int)$id atau gunakan validasi filter_var($id, FILTER_VALIDATE_INT).
  • Alamat Email: Gunakan validasi email standar filter_var($email, FILTER_VALIDATE_EMAIL).
  • Escape Character: Jika harus memproses string mentah, gunakan htmlspecialchars() atau fungsi sanitasi framework.

Langkah 4: Mengonfigurasi Web Application Firewall (ModSecurity / Cloudflare WAF)

Bentengi web server Anda dengan lapisan keamanan ekstra menggunakan Web Application Firewall (WAF). WAF secara otomatis mendeteksi dan memblokir pola payload SQLi khas (seperti UNION SELECT, AND 1=1, atau --) sebelum mencapai kode aplikasi Anda:

# Mengaktifkan ruleset OWASP ModSecurity di Nginx/Apache:\nInclude /etc/modsecurity/rules/REQUEST-942-APPLICATION-ATTACK-SQLI.conf
“Keamanan aplikasi web tidak mengenal istilah kompromi. Menjalankan Prepared Statements pada seluruh query database adalah standar hukum wajib dalam pengembangan software.” — Tim Cyber Security AN Media Jember

Kesimpulan & Layanan Audit Keamanan Website AN Media

Mengikuti **Panduan Mencegah dan Mengatasi Serangan SQL Injection** ini akan melindungi aset data berharga bisnis Anda dari ancaman peretasan. Jika Anda memerlukan **Jasa Audit Penetration Testing & Hardening Keamanan Website di Jember**, hubungi tim **AN Media**.

Tertarik Membuat Website atau Aplikasi Android/Mobile di Jember?

Tim pengembang profesional AN Media Jember siap membantu mewujudkan aplikasi website dan mobile impian Anda dengan arsitektur terbaik & terjangkau.

Konsultasi Gratis Sekarang

Artikel Lainnya yang Relevan

Rekomendasi bacaan menarik lainnya seputar pembuatan website & aplikasi

Lihat Semua Blog →
Cara Mengamankan Website WordPress dari Malware, Virus, dan Script Backdoor - AN Media Jember Security
06 Sep 2026
Cara Mengamankan Website WordPress dari Malware, Virus, dan Script Backdoor

Panduan lengkap langkah demi langkah mengamankan WordPress dari malware, virus, dan script...

Baca Selengkapnya →
Cara Mengamankan File .env dan API Key Rahasia pada Framework Laravel - AN Media Jember Security
31 Aug 2026
Cara Mengamankan File .env dan API Key Rahasia pada Framework Laravel

Panduan lengkap mengamankan .env dan API key di Laravel dengan langkah praktis dan contoh...

Baca Selengkapnya →
Cara Mengamankan File .env dan API Key Rahasia pada Framework Laravel - AN Media Jember Security
23 Aug 2026
Cara Mengamankan File .env dan API Key Rahasia pada Framework Laravel

Panduan lengkap AN Media mengamankan .env & API Key di Laravel secara step-by-step.

Baca Selengkapnya →