CORS untuk Django
medium4 titik pemeriksaan
CORS menentukan origin mana yang boleh membaca respons API. Wildcard mengubah API terautentikasi menjadi API publik.
Yang harus ada di Django
- Access-Control-Allow-Origin hanya untuk origin yang diketahui
- Tidak ada wildcard yang digabung dengan credentials
- Tidak memantulkan header Origin sembarang
- Preflight hanya mengizinkan metode yang benar-benar dipakai
Cara memperbaiki
- 1Ganti wildcard dengan allowlist eksplisit
- 2Validasi Origin sebelum memantulkannya dan tolak origin tak dikenal lebih awal
Konteks Django
Python web framework with an ORM and admin interface.
DEBUG=True leaks stack traces and settings. Restrict /admin and rotate SECRET_KEY if it ever leaked.