BASIC-COMMON-SENSE

Editing
  • account_tree
  • bug_report

Content-Security-Policy

개요

Content-Security-Policy(이하: CSP)는 최신 브라우저에서 문서(또는 웹페이지)의 보안을 강화하기 위해 사용하는 HTTP 응답 헤더(response header)의 이름이다. CSP 헤더(header)를 사용하면 로드할 수 있는 리소스와 해당 리소스를 로드할 수 있는 URL을 제한할 수 있다.

HTTP 응답 헤더(response header)에서 지정할 수 있고 HTML <meta> 요소에서도 지정이 가능하다.

CSP Directive Reference

Fetch directives

child-src
<frame><iframe>과 같은 요소를 사용하여 로드된 웹 워커(web worker) 및 중첩된 브라우징 컨텍스트(context)에 대한 유효한 소스를 정의한다.
content-src
스크립트 인터페이스를 사용하여 로드할 수 있는 URL을 제한한다.
default-src
다른 가져오기 지시문에 대한 폴백(fallback) 역할을 한다.
font-src
@font-face를 사용하여 로드된 글꼴의 유효한 소스를 지정한다.
frame-src
<frame><iframe>과 같은 요소를 사용하여 로드되는 중첩 브라우징 컨텍스트(context)에 대한 유효한 리소스를 지정한다.
img-src
이미지 및 파비콘(favicon)의 유효한 소스를 지정한다.
manifest-src
애플리케이션 매니페스트(manifest) 파일의 유효한 소스를 지정한다.
media-src
<audio>, <video>, <track> 요소를 사용하여 미디어를 로드하기 위한 유효한 소스를 지정한다.
object-src
<object>, <embed> 요소에 대한 유효한 소스를 지정한다.
srcript-src
JavaScript 및 WebAssembly 리소스에 대한 유효한 소스를 지정한다.
script-src-elem
JavaScript <script> 요소의 유효한 소스를 지정한다.
script-src-attr
JavaScript 인라인 이벤트 핸들러(inline event handler)의 유효한 소스를 지정한다.
style-src
스타일시트(stylesheet)의 유효한 소스를 지정한다.
style-src-elem
<style> 요소 및 <link rel="stylesheet"> 요소에 대한 유효한 소스를 지정한다.
style-src-attr
개별 DOM 요소에 적용되는 인라인 스타일(inline style)에 대한 유효한 소스를 지정한다.
worker-src
Worker, SharedWorker, ServiceWorker 스크립트의 유효한 소스를 지정한다.

Document directives

base-uri
문서의 base 요소에서 사용할 수 있는 URL을 제한한다.
sandbox
<iframe>의 sandbox 애트리뷰트와 유사한 요청된 리소스에 대해 샌드박스를 활성화한다.

Navigation directives

form-action
주어진 컨텍스트(context)에서 폼(form) 제출의 대상으로 사용할 수 있는 URL을 제한한다.
frame-ancestors
<frame>, <iframe>, <object> 또는 <embed> 요소를 사용하여 페이지를 포함할 수 있는 유효한 부모를 지정한다.
navigate-to
문서가 <form>(action이 지정되지 않은 경우), <a>, window.location, window.open() 등을 포함하여 모든 방법으로 탐색을 시작할 수 있는 URL을 제한한다.

Values

Source  ValueExampleDescription
*img-src *data: blob: filesystem: 스킴(schemes)를 제외한 모든 URL을 허용한다.
'none'object-src 'none'지정된 소스 또는 모든 소스에서 리소스 로드를 차단한다.
'self'script-src 'self'동일한 출처(동일한 체계, 호스트(host) 및 포트(port))에서 리소스를 로드할 수 있다.
data: img-src 'self' data:데이터 구성표를 통해 리소스를 로드할 수 있다.(예: base64 인코딩 이미지)
domain.example.comimg-src domain.example.com지정된 도메인 이름에서 리소스를 로드할 수 있다.
*.example.comimg-src *.example.com지정된 도메인의 모든 하위 도메인에서 리소스를 로드할 수 있다.
https://example.comimg-src https://example.com지정된 도메인과 일치하는 HTTPS를 통해서만 리소스를 로드할 수 있다.