Menulis Kode yang Aman: Praktik Dasar Secure Coding untuk Developer Pemula

Banyak developer pemula fokus membuat fitur berjalan lebih dulu, dan menganggap keamanan sebagai sesuatu yang bisa "ditambahkan nanti". Padahal, sebagian besar celah keamanan justru muncul dari kebiasaan menulis kode yang kurang hati-hati sejak awal. Berikut beberapa praktik dasar yang wajib dipahami.
1. Jangan Pernah Percaya Input Pengguna
Setiap data yang berasal dari pengguna — baik lewat form, URL, header, maupun file upload — harus dianggap berpotensi berbahaya sampai terbukti aman. Selalu validasi dan sanitasi input di sisi server, jangan hanya mengandalkan validasi di sisi klien yang mudah dilewati.
2. Cegah SQL Injection dengan Parameterized Query
// Salah — rentan SQL Injection
const query = `SELECT * FROM users WHERE username = '${username}'`;
// Benar — menggunakan parameterized query
const query = 'SELECT * FROM users WHERE username = ?';
db.execute(query, [username]);
Menggabungkan string secara langsung untuk membentuk query database adalah salah satu penyebab paling umum dari celah SQL Injection.
3. Waspadai Cross-Site Scripting (XSS)
Jangan pernah menampilkan input pengguna langsung ke halaman tanpa proses escaping, terutama saat menggunakan fitur seperti dangerouslySetInnerHTML di React atau innerHTML di JavaScript murni. Selalu gunakan library sanitasi HTML yang teruji jika memang butuh menampilkan HTML dari input pengguna.
4. Terapkan Least Privilege
Berikan akses seminimal mungkin — baik untuk pengguna aplikasi, service account, maupun koneksi database. Jangan gunakan akun admin/root untuk operasi rutin aplikasi.
5. Simpan Password dengan Benar
Jangan pernah menyimpan password dalam bentuk plain text atau hanya menggunakan hash sederhana seperti MD5. Gunakan algoritma hashing yang dirancang khusus untuk password, seperti bcrypt atau Argon2, yang tahan terhadap serangan brute-force.
6. Jangan Hardcode Secret di Kode
API key, password database, dan token rahasia lain tidak boleh ditulis langsung di kode dan ikut di-commit ke repository. Gunakan environment variable atau secret manager, dan pastikan file .env masuk ke .gitignore.
7. Selalu Update Dependency
Banyak celah keamanan besar justru berasal dari library pihak ketiga yang sudah usang dan memiliki kerentanan yang diketahui publik. Gunakan tools seperti npm audit secara rutin untuk memantau kerentanan dependency.
Kesimpulan
Secure coding bukan tentang menghafal seluruh daftar serangan yang mungkin terjadi, melainkan membangun kebiasaan berpikir kritis: "apa yang terjadi jika input ini disalahgunakan?" Kebiasaan ini, jika ditanamkan sejak awal belajar, akan sangat berharga sepanjang karier seorang developer.

Ditulis oleh
@nopal
Ruang Iklan Tersedia
Hubungi Admin untuk menempatkan banner iklan atau Adsense Anda di sini.
Bagaimana pendapat Anda tentang artikel ini?
Komentar Pembaca (0)
Belum ada komentar. Jadilah yang pertama!