CORS untuk Phoenix
medium4 titik pemeriksaan
CORS menentukan origin mana yang boleh membaca respons API. Wildcard mengubah API terautentikasi menjadi API publik.
Yang harus ada di Phoenix
- 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 Phoenix
Elixir web framework running on the BEAM with channels and LiveView.
LiveView pushes state over websockets; authorise every event handler, not just the initial render.