26 lines
1.7 KiB
Markdown
26 lines
1.7 KiB
Markdown
# 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 `.env` CI4 (jangan commit secret).
|
|
- **Selisih charset** DB `utf8` (CI3) vs `utf8mb4` (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.
|