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 Menghindari Hoaks dan Ujaran Kebencian di Media Sosial - AN Media Jember Tutorial
12 Aug 2026
Cara Menghindari Hoaks dan Ujaran Kebencian di Media Sosial

Langkah praktis dan panduan komprehensif memverifikasi fakta berita, mengenali ciri-ciri h...

Baca Selengkapnya →
Tutorial Membuat Website Sederhana untuk UMKM Tanpa Coding - AN Media Jember Tutorial
12 Aug 2026
Tutorial Membuat Website Sederhana untuk UMKM Tanpa Coding

Panduan praktis langkah demi langkah membangun website katalog bisnis UMKM yang menarik me...

Baca Selengkapnya →
Panduan Backup Data Website Secara Otomatis dan Aman - AN Media Jember Tutorial
12 Aug 2026
Panduan Backup Data Website Secara Otomatis dan Aman

Langkah demi langkah teknis mengatur backup otomatis database MySQL dan berkas website sec...

Baca Selengkapnya →