Audit modul pesanan kantin buatan AI
Bangun sendiri dari brief di bawah. Semua pemeriksaan lolos berarti proyekmu selesai, salah satu syarat sertifikat Vibe Coding: Membangun Software Bersama AI dengan Aman.
Brief
Seorang teman membuat aplikasi pesanan kantin sekolah dengan vibe coding. Aplikasinya terlihat jalan, tetapi modul pesanannya ditulis AI tanpa dibaca: ada bug ID ganda, validasi yang bolong, harga yang dipercaya dari klien, dan celah XSS. Tugasmu adalah meninjau dan memperbaiki modul itu sampai semua pemeriksaan lolos, seperti latihan level 3 "Rilis yang aman" dalam bentuk kecil.
Data yang tersedia
MENU sudah disiapkan (jangan diubah):
Fitur wajib
validasiPesanan(p)mengembalikan array field bermasalah, urutnama,menu,jumlah:namaharus teks, setelah dipangkas panjangnya 1 sampai 40;menuharus id yang ada diMENU;jumlahharus bilangan bulat 1 sampai 20 (teks"2"ditolak).
tambahPesanan(daftar, p)melemparErrorbila pesanan tidak valid. Bila valid, kembalikan array baru (array asli tidak berubah) berisi pesanan{ id, nama, menu, jumlah }dengannamadipangkas danid= id terbesar + 1 (daftar kosong berarti 1). Field lain dari klien, sepertiharga, tidak disimpan.hitungTotal(daftar)menjumlahharga menu x jumlahmemakai harga dariMENU, bukan harga kiriman klien. Daftar kosong bernilai 0.escapeHtml(teks)mengganti semua&,<,>,",'menjadi&,<,>,",'.barisPesanan(p)mengembalikan<li>NAMA: JUMLAHx NAMA MENU</li>dengan nama pemesan sudah di-escape.
Contoh hasil
Tips: baca kode awal dengan teliti dan tulis daftar masalahnya dulu sebelum mengubah apa pun, seperti code review.
Latihan kode: Audit modul pesanan kantin buatan AI
Perbaiki modul pesanan kantin buatan AI sampai semua pemeriksaan lolos: validasi input, id unik tanpa mutasi, total dari harga MENU, dan escaping untuk mencegah XSS. Baca brief untuk spesifikasi lengkap.