샌드박스 처리된 고유한 출처에서 제공할 확장 프로그램 페이지 모음을 정의합니다. 이
확장 프로그램의 샌드박스 페이지에서 사용하는 콘텐츠 보안 정책은
"content_security_policy"
키.
샌드박스에 있다는 것은 두 가지 의미가 있습니다.
- 샌드박스 페이지는 확장 프로그램 API에 액세스할 수 없으며
postMessage()
를 사용하여 통신할 수 있습니다. - 샌드박스 처리된 페이지에는 나머지 팀에서 사용하는 콘텐츠 보안 정책 (CSP)이 적용되지 않습니다.
고유한 CSP 값이 있음)를 지정합니다. 즉, 예를 들어
인라인 스크립트와
eval()
를 사용합니다.
예를 들어, 다음은 두 개의 확장 페이지가 맞춤 CSP:
{
...
"content_security_policy": {
"sandbox": "sandbox allow-scripts; script-src 'self' https://example.com"
},
"sandbox": {
"pages": [
"page1.html",
"directory/page2.html"
]
},
...
}
지정되지 않은 경우 기본 "content_security_policy"
값은 sandbox allow-scripts allow-forms
allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';
입니다.
CSP 값을 지정하여 샌드박스를 더 제한할 수 있지만 다음을 포함해야 합니다(MUST).
"sandbox"
지시어이며 allow-same-origin
토큰을 포함해서는 안 됩니다 (HTML5
사양 참조).
창이나 프레임에 로드될 것으로 예상되는 페이지만 나열해야 합니다. 리소스
사용하지 않아도 샌드박스 페이지 (예: 스타일시트 또는 자바스크립트 소스 파일)가
pages
목록입니다. 삽입된 프레임의 샌드박스를 사용하기 때문입니다.
'Chrome 확장 프로그램에서 eval() 사용'에서는 이를 통해 실행 문제가 발생할 수 있는 라이브러리를 사용할 수 있게 하는 샌드박싱 워크플로가 확장 프로그램의 기본 콘텐츠 보안 정책을 지정합니다.