Lewati ke konten utama
menjadi.dev
Dasar Web

CORS (Cross-Origin Resource Sharing)

Mekanisme browser yang mengontrol resource boleh diakses dari domain lain.

CORS adalah kebijakan keamanan browser yang membatasi resource (API, font, gambar) agar hanya bisa diakses dari domain yang sama. Secara default, browser memblokir request dari website A ke API di website B (origin berbeda). Untuk mengizinkan, server harus mengirim header CORS yang spesifik: Access-Control-Allow-Origin (domain mana yang diizinkan), Access-Control-Allow-Methods (HTTP methods yang diperbolehkan), Access-Control-Allow-Headers (headers kustom yang diizinkan). Preflight request (OPTIONS) dikirim browser terlebih dahulu untuk memeriksa izin sebelum request sebenarnya.

Contoh Kode

// CORS middleware dengan Hono
import { cors } from 'hono/cors';

app.use(cors({
  origin: ['https://frontend.com', 'https://app.com'],
  allowMethods: ['GET', 'POST', 'PUT', 'DELETE'],
  allowHeaders: ['Authorization', 'Content-Type'],
  credentials: true,
}));