HTTP 헤더
Content-Security-Policy HTTP 헤더 의미
Content-Security-Policy는 페이지 리소스가 로드될 수 있는 위치를 제한합니다.
의미
서버가 스크립트, 스타일, 이미지, 프레임 및 기타 리소스 타입에 대해 브라우저가 시행하는 규칙을 보냅니다.
나타나는 위치
웹 앱은 스크립트 주입, 클릭재킹, 혼합 콘텐츠 및 데이터 유출 위험을 줄이기 위해 이를 보냅니다.
확인할 사항
차단된 리소스 보고서, nonce 또는 hash 전략, 프레임 규칙, 정책이 너무 광범위한지 확인하세요.
예시
Content-Security-Policy: default-src https:; img-src https: data:일반적인 값과 지시어
default-srcdefault-src 'self'더 구체적으로 설정되지 않은 fetch 지시어에 대한 대체 소스 목록.script-srcscript-src 'self' https://cdn.exampleJavaScript가 로드될 수 있는 위치와 실행 가능한 인라인 스크립트 패턴을 제어합니다.style-srcstyle-src 'self' 'unsafe-inline'CSS가 로드될 수 있는 위치와 인라인 스타일 처리 방법을 제어합니다.img-srcimg-src https: data:이미지가 로드될 수 있는 위치를 제어합니다.connect-srcconnect-src 'self' https://api.examplefetch, XHR, WebSocket, EventSource 및 유사한 API가 사용하는 URL을 제어합니다.font-srcfont-src https://fonts.example폰트가 로드될 수 있는 위치를 제어합니다.frame-srcframe-src 'self'이 페이지가 프레임에 로드할 수 있는 URL을 제어합니다.frame-ancestorsframe-ancestors 'none'어떤 상위 페이지가 이 페이지를 프레임에 임베드할 수 있는지 제어합니다.base-uribase-uri 'self'base 요소에 사용될 수 있는 URL을 제한합니다.object-srcobject-src 'none'플러그인 스타일 object, embed, applet 리소스를 제어합니다.report-toreport-to default정책 위반 보고를 위한 보고 엔드포인트 그룹의 이름을 지정합니다.report-urireport-uri https://example.com/csp-report정책 위반 보고를 URL로 보냅니다. 최신 정책은 종종 report-to를 사용합니다.