Latihan 1: Security Checklist untuk Deploy — Security

Latihan 1 dari materi Security Checklist untuk Deploy di Security — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Buat function securityAudit(config) yang menilai konfigurasi aplikasi sebelum deploy dan mengembalikan { score, issues }.

config punya lima property: https (boolean), debug (boolean), csrfProtection (boolean), passwordHashing (string: "bcrypt", "argon2", "md5", "sha1", atau "plain"), dan corsOrigin (string: "*" atau URL).

  1. Kode awal sudah punya let score = 100, const issues = [], dan baris return { score: Math.max(0, score), issues }. Biarkan.
  2. Di bawah tiap komentar // Cek ..., tulis satu if terpisah (bukan else if) yang mengurangi skor dan menambah issue:
    • https false: kurangi 25, issue "HTTPS not enabled"
    • debug true: kurangi 20, issue "Debug mode is on"
    • csrfProtection false: kurangi 20, issue "CSRF protection disabled"
    • passwordHashing bukan "bcrypt" dan bukan "argon2" (jadi md5, sha1, dan plain semuanya lemah): kurangi 25, issue "Weak password hashing"
    • corsOrigin sama dengan "*": kurangi 10, issue "CORS wildcard origin"
  3. Dua console.log di bawah fungsi biarkan saja.

Yang dinilai nilai kembaliannya:

Teks issue untuk config yang bermasalah gak dicek satu per satu, tapi pakai teks di atas biar laporannya jelas.

Hint