1.7 KiB
1.7 KiB
Risiko migrasi
| Risiko | Dampak | Mitigasi |
|---|---|---|
| MD5 password | Kompromi kredensial mudah | Rencanakan upgrade bcrypt/argon; sementara pertahankan untuk kompatibilitas mobile |
| Token plain di DB | Token bocor = impersonation | Hash token di DB + bandingkan; atau JWT pendek umur |
CORS * |
Origin jahat memanggil API jika kombinasi browser | Setelah cutover, batasi origin; tetap POST + token |
| Upload base64 | Beban memori / file besar / MIME palsu | Validasi ukuran, tipe, virus scan; limit body |
| Path upload | Salah permission / traversal | public/assets/uploads + nama file random (sudah mirip legacy) |
Query join daftar_today |
Dulu string tanggal inline | Di CI4 memakai escape(); tetap review indeks DB |
serialize(jadwal) di presensi |
Kaku saat skema berubah | JSON column atau normalisasi jadwal |
| PHPExcel | Usang, tidak aman | Ganti PhpSpreadsheet saat modul laporan dimigrasi |
| HMVC + Grocery | Tidak ada port 1:1 CI4 | Rencanakan ulang modul admin per domain |
| TailAdmin source | css/style.css memakai @import "tailwindcss" — perlu build untuk CSS penuh |
Foundation admin memakai Tailwind CDN; aset TailAdmin (logo, FA) disalin; untuk pixel-perfect jalankan build template |
Blocker potensial
- Kredensial DB harus diisi manual di
.envCI4 (jangan commit secret). - Selisih charset DB
utf8(CI3) vsutf8mb4(CI4 default) — uji karakter Indonesia. - File upload yang sudah ada di server CI3 (
assets/uploads/...) perlu sinkron atau symlink jika sharing storage dengan CI4.
Dependensi eksternal
- PHP ≥ 8.2 (CI4 appstarter).
- MySQL/MariaDB dengan skema yang sama antara CI3 dan CI4 selama transisi.