Minggu 10 — Security dan Maintainability

OWASP, rahasia, SQL injection, XSS, CSRF, dan kode yang mudah dirawat.

Part 10 dari 12 ± 60 menit Gratis

AI tidak otomatis menulis kode aman

AI meniru pola dari internet, termasuk pola yang rawan. Kode yang "jalan" belum tentu aman. Kamu perlu mengenali risiko utamanya — daftar lengkapnya ada di OWASP Top 10.

SQL Injection

// RAWAN: input disambung langsung ke SQL
db.query("SELECT * FROM users WHERE email = '" + email + "'");
// email = ' OR '1'='1  →  semua data bocor

// AMAN: query berparameter (prepared statement)
db.query("SELECT * FROM users WHERE email = $1", [email]);

XSS — Cross-Site Scripting

Penyerang menyisipkan <script> lewat komentar atau nama, lalu skripnya jalan di browser korban. Pertahanan: escape output (ubah < jadi &lt;), gunakan textContent bukan innerHTML, dan template engine yang meng-escape otomatis.

CSRF

Situs jahat membuat browser korban yang sedang login mengirim request tanpa sadar. Pertahanan: token CSRF di setiap form (framework seperti Laravel menyediakannya), cookie SameSite.

Rahasia jangan masuk Git

  • API key, sandi database, dan token disimpan di .env, dan .env masuk .gitignore.
  • Jangan tempel rahasia ke chat AI.
  • Jika rahasia sempat ter-commit: anggap sudah bocor, ganti segera — menghapus commit saja tidak cukup.

Authentication dan authorization di server

Hash sandi dengan bcrypt/argon2, batasi percobaan login, dan periksa hak akses di setiap endpoint. Cek juga kepemilikan data: pengguna A tidak boleh membuka /orders/5 milik pengguna B (IDOR).

Maintainability

  • Separation of concerns: pisahkan tampilan, logika bisnis, dan akses data.
  • SOLID, terutama Single Responsibility: satu function/class, satu tugas.
  • Refactoring: rapikan struktur tanpa mengubah perilaku — dan selalu dengan test yang hijau.
  • Backup database terjadwal, audit dependency berkala, dan penanganan error yang tidak membocorkan detail teknis ke pengguna.

Praktik minggu ini

Lakukan security review terhadap aplikasi kursus dan perbaiki temuan. Target: checklist keamanan dan kode yang lebih mudah dipelihara.

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X