Dasar-dasar Keamanan Aplikasi Web untuk Pengembang Pemula
Lima celah keamanan paling umum pada aplikasi web dan cara menutupnya dengan PHP, dijelaskan dengan contoh yang mudah diikuti.
Keamanan bukan fitur tambahan yang dikerjakan di akhir proyek. Ia adalah kebiasaan menulis kode yang harus dibangun sejak baris pertama.
SQL Injection
Celah ini muncul ketika input pengguna disisipkan langsung ke dalam query. Solusinya konsisten: selalu gunakan prepared statement dengan parameter terikat, tanpa pengecualian.
Cross-Site Scripting
Setiap nilai dinamis yang dicetak ke halaman harus di-escape terlebih dahulu. Satu fungsi pembantu yang dipakai di seluruh view jauh lebih aman daripada mengandalkan ingatan.
Cross-Site Request Forgery
Setiap formulir yang mengubah data wajib menyertakan token acak yang diverifikasi di sisi server sebelum aksi dijalankan.
Unggahan Berkas Berbahaya
Jangan pernah percaya pada ekstensi berkas. Periksa tipe MIME sebenarnya, ganti nama berkas, simpan di luar jangkauan eksekusi skrip, dan matikan mesin PHP pada folder unggahan.
Penyimpanan Kata Sandi
Gunakan fungsi hashing bawaan PHP yang dirancang khusus untuk kata sandi. Jangan pernah menyimpan kata sandi dalam bentuk asli maupun dengan algoritma hash cepat seperti MD5.
Penutup
Lima hal di atas menutup sebagian besar serangan yang menimpa aplikasi web berskala kecil dan menengah. Terapkan konsisten, dan tinjau ulang setiap kali ada fitur baru yang menerima input dari pengguna.