Skip to main content

Preventing environment poisoning

서버 전용 모듈에 server-only를 선언해 client import를 빌드 단계에서 막는 실전 패턴입니다.

파일 구조

preventing-environment-poisoning/
├── page.tsx
└── demo/
    ├── page.tsx
    ├── lib/data.ts           ← import 'server-only'
    └── ui/client-panel.tsx   ← Client component

핵심 파일 코드

// demo/lib/data.ts
import 'server-only'

export async function getSecretData() {
  return process.env.API_KEY ?? ''
}
데모 실행 →← 스터디로 돌아가기