Hasil review pasca-fix upload asset: Keamanan: - Mitigasi stored-XSS via SVG (route /assets/* publik, same-origin): CSP 'default-src none; sandbox' saat serve SVG — di backend (send_assets) DAN di proxy SvelteKit (proxy hanya meneruskan content-type/set-cookie, jadi CSP backend tak sampai ke browser). - Deteksi 413 proxy kini ber-test status code + pesan. Testing: - Regression guard: error jaringan biasa tetap 502, bukan 413. - 413 via status code saja (tanpa regex pesan) tetap 413. - Boundary 5 MiB: file TEPAT 5 MiB lolos; 5 MiB+1 ditolak (cabang len(raw) — SVG dipakai karena dikecualikan validasi PIL). - CSP: SVG dapat header, raster tidak. - E2E script (verify_asset_upload.py) memakai file asli mr-edu/assets/ilustrasi_beban.jpeg + test 413 terintegrasi. Reuseability: - Komentar silang-referensi _MAX_ASSET_BYTES (sumber) dengan pesan 413 proxy dan BODY_SIZE_LIMIT compose. |
||
|---|---|---|
| .. | ||
| scripts | ||
| storage | ||
| tests | ||
| __init__.py | ||
| database.py | ||
| docs_service.py | ||
| evaluation.py | ||
| lesson_registry.py | ||
| lesson_service.py | ||
| models.py | ||
| progress_status.py | ||
| repositories.py | ||
| student_roundtrip.py | ||
| teacher_auth.py | ||
| teacher_bootstrap.py | ||
| token_hashing.py | ||
| token_service.py | ||