description: "공통 보안 패턴 - 환경변수 관리, 스팸 방어, 민감 데이터 노출 방지" globs:
프론트·백엔드 모두에 적용되는 보안 원칙.
| 접두사 / 위치 | 용도 | 노출 범위 |
|---|---|---|
NEXT_PUBLIC_* | 브라우저에 노출해도 되는 값 | 클라이언트 + 서버 |
| 접두사 없음 | 서버 전용 시크릿 | 서버만 |
NEXT_PUBLIC_ 접두사 불가.env.example: 모든 변수의 키 + 설명 주석. 값은 비움 (예시 URL 가능).env: 로컬 개발용. 반드시 .gitignore 에 포함.env.production: 프로덕션 값은 호스팅 플랫폼의 환경변수 관리에서 설정. 파일로 커밋 금지.env.example 에 키 + 주석 추가공개 폼 제출에는 가벼운 스팸 방어를 적용한다.
사용자에게 보이지 않는 hidden input 을 추가. 봇이 자동으로 채우면 서버가 감지해서 성공한 척 응답 (봇에게 실패를 알리지 않음).
<input type="text" tabIndex={-1} autoComplete="off" aria-hidden="true" className="hidden" />{ ok: true } 반환@everyone, @here 멘션 무력화.env, credentials.json, *.pem 등 .gitignore 확인아직 피드백이 없어요. 첫 번째로 의견을 남겨보세요!