1. Latar Belakang
Dalam pengembangan aplikasi berbasis API, konfigurasi CORS menjadi bagian penting yang tidak boleh diabaikan karena berkaitan langsung dengan keamanan sistem. Kesalahan dalam pengaturan CORS dapat membuka akses bagi domain yang tidak dikenal, memungkinkan penyalahgunaan method, hingga menyebabkan kebocoran data sensitif seperti session pengguna. Oleh karena itu, diperlukan penerapan best practice agar komunikasi antara frontend dan backend tetap berjalan lancar tanpa mengorbankan aspek keamanan aplikasi, khususnya ketika sistem sudah berada di tahap production.
2. Pembahasan
2.1 Best Practice
1. Hindari penggunaan wildcard * di bagian Production
Jangan pernah gunakan * untuk allowed_origins karena domain
yang tidak dikenal atau berbahaya dapat mengakses API. Gunakan domain
spesifik milik aplikasi anda, misal:
'allowed_origins' => ['https://mywebsite.com']
2. Pembatasan Method dan Header
Hanya izinkan method dan header yang aplikasi anda benar-benar butuhkan, jangan izinkan semuanya. Jika API hanya butuh GET dan POST, maka sebaiknya hanya dua method itu saja yang diizinkan. Begitu juga dengan penggunaan header. Pembatasan ini membantu mempersempit potensi celah keamanan dan membuat sistem lebih terkontrol.
3. Hati-hati dengan kredensial (data sensitif)
Gunakan supports_credentials dengan penuh hati-hati karena jika kredensial di backend anda diaktifkan, lalu origin tidak dibatasi dengan ketat, maka website lain bisa ikut mengirim request menggunakan cookie milik user dan terjadilah kebocoran session atau session leakage.
4. Aktifkan CORS hanya pada route yang diperlukan
CORS sebaiknya tidak diaktifkan untuk seluruh aplikasi jika tidak diperlukan. Batasi penerapannya hanya pada route atau kelompok route tertentu, misalnya api/*. Dengan membatasi ruang lingkup CORS, risiko akses lintas origin yang tidak diperlukan dapat diminimalkan. Endpoint internal yang tidak perlu diakses oleh frontend eksternal sebaiknya tidak dibuka melalui konfigurasi CORS.
5. Pisahkan Konfigurasi Development dan Production
Konfigurasi CORS pada tahap development biasanya lebih fleksibel untuk mempermudah proses pengujian, misalnya dengan mengizinkan beberapa origin lokal seperti localhost. Namun pada tahap production, konfigurasi harus diperketat.
Pastikan hanya domain resmi yang diizinkan, method dibatasi sesuai kebutuhan, dan penggunaan kredensial diawasi secara ketat. Pemisahan konfigurasi ini penting agar kemudahan saat development tidak berubah menjadi celah keamanan saat aplikasi sudah digunakan oleh pengguna sebenarnya.
2.2 Kesimpulan
Kesimpulannya, konfigurasi CORS pada aplikasi Laravel harus dilakukan dengan hati-hati karena berpengaruh langsung terhadap keamanan API. Penggunaan wildcard (*) pada production sebaiknya dihindari dan diganti dengan domain yang spesifik agar tidak membuka akses bagi pihak yang tidak dikenal. Selain itu, pembatasan method, header, serta penggunaan supports_credentials perlu disesuaikan dengan kebutuhan aplikasi agar tidak menimbulkan celah keamanan seperti kebocoran session. Dengan menerapkan best practice yang tepat, sistem dapat berjalan lebih aman, terkontrol, dan tetap mendukung komunikasi antar aplikasi secara efektif.
3. Daftar Pustaka
Stack Hawk. (2025, 9 Juli). Laravel CORS Guide: What It Is and How to Enable It. Diakses dari: https://www.stackhawk.com/blog/laravel-cors/
.png)
0 Comments