sandbox
Content-Security-Policy Document

개요

sandbox 는 iframe 의 sandbox 속성과 유사한 제약을 문서 전체에 적용해 페이지 기능을 격리·제한합니다. 스크립트 실행·폼 제출·팝업·top-level 내비게이션 등을 기본 차단하고, allow-* 토큰으로 필요한 능력만 되살립니다. 이 지시어는 default-src 로 폴백되지 않습니다.

자세히

값 없이 sandbox 만 지정하면 최대 제약이 걸려, 스크립트가 실행되지 않고 폼도 제출할 수 없으며 페이지는 고유(opaque) 오리진에 놓여 자기 저장소·쿠키 접근이 끊깁니다. 필요에 따라 토큰을 추가합니다: allow-scripts(JS 실행), allow-forms(폼 제출), allow-same-origin(원래 오리진 유지 — 이게 없으면 격리 오리진), allow-popups(새 창), allow-popups-to-escape-sandbox, allow-top-navigation, allow-modals, allow-downloads, allow-pointer-lock, allow-presentation 등.

주의: allow-scripts 와 allow-same-origin 을 동시에 부여하면, 샌드박스 내부 스크립트가 자기 오리진 컨텍스트에서 실행되어 프레임 부모의 CSP 나 sandbox 속성을 제거할 수 있어 격리가 사실상 무력화됩니다. 신뢰할 수 없는 콘텐츠를 격리할 때는 이 둘의 조합을 피해야 합니다. sandbox 는 강력하지만 사이트 기능을 광범위하게 끊으므로, 사용자 생성 콘텐츠·서드파티 위젯을 담는 특수 경로에 신중히 적용합니다.

문법

Content-Security-Policy: sandbox allow-scripts allow-forms

실무 참고

관련 지시어