샌드박스

Internet Explorer 10 및 JavaScript로 작성한 Windows 스토어 앱은 sandbox 특성을 새롭게 지원합니다. sandbox 특성은 신뢰할 수 없는 콘텐츠를 포함하는 iframe 요소에 대해 보안 제한을 적용합니다. 이러한 제한은 신뢰할 수 없는 콘텐츠가 잠재적으로 악의적인 동작을 초래할 수 있는 작업을 수행하지 못하게 함으로써 보안을 강화합니다.

sandbox 특성은 W3C(World Wide Web 컨소시엄) HTML5 사양섹션 4.8.2에 지정되어 있습니다.

샌드박스 사용

이러한 제한을 사용하려면 다음 코드 예제와 같이 sandbox 특성을 지정합니다.


<iframe sandbox src="frame1.html"></iframe>

iframe 요소에 sandbox 특성이 지정된 경우 iframe 요소의 콘텐츠를 샌드박스가 지정된 콘텐츠라고 합니다.

샌드박스에 의해 제한되는 동작

iframe 요소에 샌드박스를 지정하면 다음 작업이 제한됩니다.

  • 샌드박스가 지정된 콘텐츠는 팝업 창이나 새 브라우저 창을 열 수 없습니다. 팝업 창을 여는 메서드(예: createPopup(), showModalDialog(), showModelessDialog()window.open())는 자동으로 실패합니다.
  • 새 창에서 링크를 열 수 없습니다.
  • 샌드박스가 지정된 콘텐츠는 고유한 도메인에 속한 것으로 간주되므로 쿠키, 로컬 저장소, 다른 문서의 DOM(문서 개체 모델) 등 동일한 출처 정책으로 보호되는 API에 대한 액세스가 차단됩니다.
  • 샌드박스가 지정된 콘텐츠는 최상위 창을 탐색할 수 없습니다.
  • 샌드박스가 지정된 콘텐츠는 양식 데이터를 제출할 수 없습니다.
  • 플러그 인(object, applet, embed 또는 frame)이 인스턴스화되지 않습니다.
  • meta 요소 새로 고침, input 컨트롤의 autofocus, audiovideo 요소의 autoplay를 비롯한 자동 요소 동작을 사용할 수 없습니다.
  • 샌드박스가 지정된 콘텐츠에는 HTML 구성 요소(HTC), 이진 동작, 데이터 바인딩, window.external 등 Windows Internet Explorer 소유의 선택된 기능을 사용할 수 없습니다.

샌드박스 제한 사용자 지정

Internet Explorer 10 및 JavaScript를 사용하는 Windows 스토어 앱을 사용하면 선택된 샌드박스 제한을 사용자 지정할 수 있습니다. 이렇게 하려면 다음 사용자 지정 플래그 중 하나 이상을 sandbox 특성의 값으로 지정합니다.

플래그설명

allow-scripts

샌드박스가 지정된 콘텐츠가 JavaScript를 실행할 수 있습니다.

allow-forms

샌드박스가 지정된 콘텐츠가 양식을 제출할 수 있습니다.

allow-same-origin

샌드박스가 지정된 콘텐츠가 로컬 저장소, 쿠키, XMLHttpRequest, 동일한 도메인에 호스트된 문서 등 동일한 출처 정책으로 보호되는 API 액세스할 수 있습니다.

allow-top-navigation

샌드박스가 지정된 콘텐츠가 최상위 창의 위치를 변경할 수 있습니다.

allow-popups

샌드박스가 지정된 콘텐츠가 팝업 창을 열 수 있습니다.

참고  Internet Explorer 10의 시험판 버전에서는 공급업체 접두사를 사용하여 이 값을 지원했습니다. 이후 호환성과 표준 준수를 위해 이 값에 공급업체 접두사를 사용하는 응용 프로그램을 업데이트해야 합니다.

 

다음 예제는 사용자 지정 플래그를 사용하여 요소의 콘텐츠 제한을 사용자 지정하는, 샌드박스가 지정된 iframe 요소를 보여 줍니다.


<iframe sandbox="allow-forms allow-same-origin" src="frame1.html"></iframe>

이 예제에서는 양식 제출과 로컬 데이터 저장소 액세스를 허용합니다. 사용자 지정 플래그가 여러 개이면 공백으로 구분됩니다.

HTML5 샌드박스의 실습 데모는 IE 테스트 드라이브심층 방어: HTML5 샌드박스(영문)를 참조하세요.

API 참조

sandbox

Internet Explorer 테스트 드라이브 데모

심층 방어: HTML5 샌드박스

IEBlog 게시물

심층 방어: HTML5 샌드박스를 사용하여 매시업 잠금

사양

HTML5: 섹션 4.8.2, 5.4

관련 항목

HTML5 샌드박스를 사용하여 사이트를 보호하는 방법

 

 

표시:
© 2014 Microsoft