본문 바로가기
Q&A2021년 10월 7일1분 읽기

크로스 사이트 스크립팅 방어를 위한 CSP 설정

양
양수진
조회 892댓글 1

CSP(Content Security Policy)로 XSS를 방어할 수 있다고 하는데, 설정 방법을 알려주세요.

댓글 1

김김영삼5년 전

CSP는 브라우저에게 "이 리소스만 실행해"라고 지시하는 HTTP 헤더입니다.

기본 설정:

# 엄격한 CSP
Content-Security-Policy:
default-src 'self';
script-src 'self' 'nonce-abc123';
style-src 'self' 'unsafe-inline';
img-src 'self' data: https:;
font-src 'self';
object-src 'none';
frame-ancestors 'none';

주요 디렉티브:

  • default-src — 기본 정책
  • script-src — JavaScript 소스 제한 (XSS 방어 핵심)
  • style-src — CSS 소스 제한
  • img-src — 이미지 소스 제한
  • frame-ancestors — 클릭재킹 방어

팁:

  • unsafe-inline, unsafe-eval을 가능한 피하기
  • nonce 기반 스크립트 허용이 가장 안전
  • Report-Only 모드로 먼저 테스트
Ctrl+Enter로 등록