CORS Allow All: Biar ga ada error CORS buat FE, padahal kan bahaya...
2025-07-12
pro-kontra-developer๐ข DISCLAIMER
"Ga semua error CORS harus diselesaikan dengan Allow All. Kadang kita cuma butuh komunikasi antar tim."
si tester
Mas ini API-nya bisa diakses dari mana aja loh. Bahkan dari localhost.
09.13
si paling praktis
Iya biar gampang develop, jadi gw allow all aja dulu.
09.14
si paling ribet
Lo tau ga itu kebuka buat siapa pun? Cross-origin bisa nyedot data, bro!
09.15
si tester
Gak sengaja keakses dari eksternal loh. Gawat ini mah...
09.15
credentials: true
, token/cookie bisa ikut terkirimCORS itu bukan pengaman utama โ tapi filter request dari origin berbeda. Kalau kamu buka ke semua origin:
Konfigurasi Access-Control-Allow-Origin: *
+ Access-Control-Allow-Credentials: true
itu kombinasi mematikan.
Browser akan blok, tapi attacker bisa eksploit API lain yang gak strict.
Ts
// โ Contoh di Express.js
app.use((req, res, next) => {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Credentials", "true");
next();
});
CORS itu kayak whitelist. Gunakan dengan hati-hati. Buat daftar origin sah, dan hindari wildcard jika ada token/cookie.
Ts
// โ
Contoh whitelist origin
const allowedOrigins = ["https://myfrontend.com", "https://admin.harscode.dev"];
app.use((req, res, next) => {
const origin = req.headers.origin;
if (allowedOrigins.includes(origin)) {
res.header("Access-Control-Allow-Origin", origin);
res.header("Access-Control-Allow-Credentials", "true");
}
next();
});
โ ๏ธ Allow All itu shortcut, bukan solusi. Hati-hati kalau shortcut-nya justru ngelewatin security gate.
Kadang kita terlalu fokus biar FE gak error. Tapi jangan sampai solusi instan jadi jebakan keamanan jangka panjang.
credentials: true
Situasi | Rekomendasi |
---|---|
Dev/test environment | Boleh pakai wildcard, tapi nonaktifkan di production |
Production API | Whitelist origin + validasi credential |
Public API | Buka hanya GET, tanpa credential |
โน๏ธ CORS error emang ngeselin. Tapi solusi jangka pendek nggak boleh jadi kompromi keamanan jangka panjang.
Lo tim Allow All biar cepet
atau Strict Origin biar aman
?
Pernah ga nemu API kebuka buat siapa aja โ bahkan dari domain nggak jelas?
Yuk cerita. Kita bukan mau judging. Kita mau saling aware. ๐ง
Konten Terkait :