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

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions