Skip to content

[SECURITY] Konfigurasi CORS Lebih Ketat - Whitelist Origin Saja #964

@vickyrolanda

Description

@vickyrolanda

Masalah

CORS pada API saat ini mengizinkan semua asal/origin (allowed_origins = *). Setting ini sangat berbahaya jika app berbasis token/cookie (credentials) karena memungkinkan akses API oleh situs lain dari browser mana pun, termasuk malicious websites.

Dampak

  • Serangan API abuse cross-origin, data leak/disclosure, CSRF scenario lebih besar
  • Bahaya session/user authentication bisa di-exploit via malicious javascript dari domain luar

Langkah Penyelesaian

  1. Ubah config/cors.php agar allowed_origins hanya domain tepercaya saja (contoh: prod domain, localhost untuk dev, dll)
  2. Hindari penggunaan wildcard jika supports_credentials = true
  3. Limitasi allowed_headers
  4. Tes preflight (OPTIONS) responsibly

Contoh Konfigurasi

'allowed_origins' => ['https://opensid.my.id', 'https://dashboard.example.com'],
'supports_credentials' => true,

Setelah Perbaikan

  • Tes API dari domain lain, pastikan request cross-origin gagal kecuali dari whitelisted origin.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions