• 회원가입
  • 로그인
  • 구글아이디로 로그인

[attribute] HTML - sandbox 속성 ★ - iframe태그에 삽입된 웹페이지에 제한 걸거나 특정 기능 허용 지정 (= sandbox속성 = 샌드박스속성) ※ 아이프레임태그로 삽입한 웹페이지의 (기능제한/기능허용) 설정

목차
  1. sandbox 예제 - iframe 기능 제한
  2. sandbox 정의
  3. sandbox 구문
  4. sandbox 예제 - iframe 기능 허용
  5. allow-same-origin 속성값 의미

 

sandbox 예제 - iframe 기능 제한

※ iframe에 적용된 서브 페이지의 JS 동작 제한 등 모든 제한 적용

 

<iframe src="another_page.html" sandbox>

  <p>당신 브라우저는 iframes 태그 지원 X</p>

</iframe>

 


(예) another_page.html 페이지에 적용된 JS 소스

 

<button onclick="getDateTime()">날짜/시간 얻기</button>


<div id="demo"></div>


<script>

function getDateTime() {

    var dateTime=new Date();

    document.getElementById("demo").innerHTML=dateTime;

}

</script>

 

결과값 예: Mon Feb 20 2023 15:18:33 GMT+0900 (한국 표준시)

 

sandbox 정의

 

iframe 태그 이용해 삽입된 페이지의 기능을 제한하거나 특정 기능만 허용해 보안 강화.

 


 

1. sandbox 속성 사용 가능 태그 종류

<iframe>

 

2. sandbox 속성 있는 경우, 아래 내용 수행됨.

  • 콘텐츠를 고유한 원본에서 가져온 것으로 처리
  • 폼데이터 제출 차단
  • 스크립트 실행 차단
  • API 비활성화
  • 링크가 다른 브라우징 컨텍스트를 대상으로 하지 않도록 방지
  • 콘텐츠가 (<embed>, <object>, <applet> 등 이용한) 플러그인을 사용하지 못하도록 방지.
  • 콘텐츠가 최상위 브라우징 컨텍스트를 탐색하지 못하도록 방지
  • 자동으로 트리거되는 기능 차단 (예: 비디오 자동 재생, 폼양식 자동 포커스)

 

3.

IE10 이상 주요 최신 브라우저 모두 지원.

 

 

sandbox 구문

 

<iframe sandbox="value">

 


[속성값]

 

value

삽입 웹페이지 기능 제한하거나 특정 기능 가능하도록 설정. 

※ 한번에 여러 값 사용하려면, 공백으로 구분해 나열.

※ 가능값 종류

  • (값 없음) - 모든 제한 사항을 적용.
  • allow-forms - 양식 제출 허용.
  • allow-modals - 모달창 열기 허용.
  • allow-orientation-lock - 화면 방향 잠그기 허용
  • allow-pointer-lock - 포인터 잠금 API 사용을 허용.
  • allow-popups - 팝업 허용
  • allow-popups-to-escape-sandbox - 팝업이 샌드박스 상속하지 않고 새 창을 열 수 있도록 허용.
  • allow-presentation - 프레젠테이션 세션을 시작 가능.
  • allow-same-origin - iframe 콘텐츠가 동일한 출처에서 온 것으로 취급되도록 허용. (아래서 상술)
  • allow-scripts - 스크립트 실행 허용
  • allow-top-navigation - iframe 콘텐츠가 최상위 브라우징 컨텍스트를 탐색할 수 있도록 허용.
  • allow-top-navigation-by-user-activation - iframe 콘텐츠가 최상위 브라우징 컨텍스트를 탐색하도록 허용하지만 사용자가 시작한 경우에만 가능.

 

 

sandbox 예제 - iframe 기능 허용

[예제1] - (폼제출, JS스크립트) 허용.

 

<iframe src="https://example.com" sandbox="allow-forms allow-scripts"><p>당신 브라우저는 iframe 태그 지원 X</p></iframe>



[예제2] - (폼체줄, JS스크립트, 팝업, 동일출처, 최상위탐색) 허용.

 

<iframe src="https://homzzang.com" sandbox="allow-forms allow-scripts allow-popups allow-same-origin allow-top-navigation"><p>당신 브라우저는 iframe 태그 지원 X</p></iframe>


 

allow-same-origin 속성값 의미

 

allow-same-origin은 sandbox 속성의 값 중 하나로, 삽입된 웹페이지가 부모 웹페이지와 동일한 출처(origin)를 가지는 경우에만, 삽입된 웹페이지와 부모 웹페이지 간의 상호작용을 허용하는 보안 정책임.


출처(origin)프로토콜, 호스트, 포트번호를 조합하여 구성된 URL의 일부분을 말합니다. 예를 들어, https://example.com:8080/path/to/resource URL의 출처는 https://example.com:8080임. 출처가 다르다면, 보안 상의 이유로 서로 간의 상호작용을 제한하는 것이 일반적임.


allow-same-origin 사용하면, 삽입된 웹페이지가 부모 웹페이지와 동일한 출처를 가지는 경우에만, 다음과 같은 기능을 사용 가능함.

  • 부모 웹페이지와의 상호작용
  • window.opener 속성을 사용한 창 제어 기능
  • postMessage() 메서드를 사용한 부모 웹페이지와의 통신

allow-same-origin을 사용하는 경우, 삽입된 웹페이지와 부모 웹페이지 간의 출처가 동일해야 하므로, 보안상 안전한 상황에서만 사용하는 것이 좋음. 또한, allow-same-origin을 사용하는 경우에도, 다른 sandbox 속성 값들이 적용되므로, 보안에 민감한 기능들은 여전히 제한될 수 있음.




분류 제목
attribute HTML - srcdoc 속성 - 아이프레임(iframe) src 속성 내용 대체할 태그내용 지정 (= sr…
attribute HTML - srclang 속성 - 트랙태그 소스의 언어코드 지정 (= srclang속성 = 에스알시랭속성/…
attribute HTML - srcset 속성 - 다른 환경에서 적용할 이미지소스 지정 (= srcset속성 = 에스알시셋속…
attribute HTML - start 속성 - 순서있는 리스트 시작값 설정 (= start속성 = 스타트속성) ※ 오엘태그…
attribute HTML - step 속성 - 입력 가능 숫자 간격 설정 (= step속성 = 스텝속성) ※ 입력 가능 배수…
attribute HTML - style 속성 ★ - 인라인 스타일 지정 (= style속성 = 스타일속성)
attribute HTML - tabindex 속성 - 탭색인번호 지정 (= tabindex속성 = 탭인덱스속성) ※ 탭넵비게…
attribute HTML - target 속성 ★ - (링크된 문서 열 곳 / 폼 제출할 곳) 지정 (= target속성 =…
attribute HTML - title 속성 ★ - 요소애 대한 추가 정보 지정 (= title속성 = 타이틀속성)
attribute HTML - translate 속성 - 요소 내용 번역 허용 여부 지정 (= translate속성 = 트랜슬…
attribute HTML - type 속성 ★★★ - 요소 타입 지정 (= type속성 = 타입속성)
attribute HTML - usemap 속성 - 이미지를 이미지맵으로 지정 (= usemap속성 = 유즈맵속성|유스맵속성)
attribute HTML - value 속성 ★★★ - 요소값 지정 (= value속성 = 밸류속성) ※ 초기값/기본값/현재…
attribute HTML - width 속성 - 너비 지정 (= width속성 = 위드스속성) ※ 가로길이 설정
attribute HTML - wrap 속성 - FORM 제출 시, TEXTAREA 텍스트 감싸기 (= wrap속성 = 랩속성…
etc HTML - 일정시간 후 페이지 이동/납치
deprecated HTML - <marquee> 태그 - 요소 내용 자동 스크롤 이동 영역 지정 (= marquee태그 = 마…
attribute HTML - rev 속성 - (HTML5 지원 X) 현재 웹문서가 타웹문서와 어떤 관계인지 지정 (= re…
image HTML - <picture> 태그 - 해상도 크기에 따라 다른 이미지 표시 지정 (= picture태그 =…
attribute HTML - formtarget 속성 - 폼데이터 전달할 폼 지정 (= formtarget속성 = 폼타겟속성…
16/18
목록
찾아주셔서 감사합니다. Since 2012