🌐Medium

CORS 와일드카드(*) 설정의 위험성

MyCompass 보안 가이드 · mycompass.kr/guide/cors-configuration

Access-Control-Allow-Origin: *는 모든 출처에서 API를 호출할 수 있게 허용합니다. 인증이 필요한 API에 이 설정이 있으면 다른 사이트에서 사용자 권한으로 요청을 보낼 수 있습니다.

올바른 CORS 설정 (Next.js API)

// src/app/api/route.ts const ALLOWED_ORIGINS = ['https://mycompass.kr', 'https://www.mycompass.kr']; export function OPTIONS(req: Request) { const origin = req.headers.get('origin') || ''; const allowed = ALLOWED_ORIGINS.includes(origin) ? origin : ''; return new Response(null, { headers: { 'Access-Control-Allow-Origin': allowed, 'Access-Control-Allow-Methods': 'GET, POST, OPTIONS', 'Access-Control-Allow-Headers': 'Content-Type, Authorization', } }); }

✨ AI 수정 프롬프트

현재 API에서 CORS를 * (와일드카드)로 허용하고 있어. 허용 도메인을 ['https://mydomain.com']으로만 제한하도록 수정해줘. Next.js App Router API Route 기준으로 OPTIONS 핸들러와 함께 작성해줘.

내 사이트에 이 취약점이 있는지 확인하세요

무료 · 30초 · 회원가입 불필요

🧭 무료 점검 시작