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

  1. 1Ganti wildcard dengan allowlist eksplisit
  2. 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.