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

[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 - onloadedmetadata 속성 - 미디어 로드되고 준비 완료 시 실행 (= onloaded…
attribute HTML - onbeforeunload 속성 - 사용자가 웹페이지 떠날 때 떠나기 전 실행 (= onbefo…
attribute HTML - checked 속성 ★ - 미리 (체크박스/라디오) 체크 여부 지정 (= checked속성 = …
attribute HTML - align 속성 - (HTML5 지원 X) 정렬 지정 (= align속성 = 얼라인속성)
attribute HTML - colspan 속성 ★ - 병합할 가로셀 개수 지정 (= colspan속성 = 콜스팬속성)
attribute HTML - scope 속성 - <th> (테이블헤더셀)의 범위 지정 (= scope속성 = 스코우프속성/스…
attribute HTML - autoplay 속성 - 자동재생 여부 지정 (= autoplay속성 = 오토플레이속성)
attribute HTML - onerror 속성 - 미디어파일 로딩 에러 시 실행 (= onerror속성 = 온에러속성) ※…
form HTML - <input type="week"> 태그 - 연도와 몇주차인지 선택 입력 (= 인풋위크타입/위크…
attribute HTML - autocomplete 속성 - 자동완성 여부 지정 (= autocomplete속성 = 오토컴플…
attribute HTML - onchange 속성 ★ - 요소값 변경 이벤트 시 실행 (= onchange속성 = 온체인지속…
form HTML - <input type="date"> 태그 - 연월일(년월일) 입력 (= 인풋데이트타입/데이트타입…
attribute HTML - wrap 속성 - FORM 제출 시, TEXTAREA 텍스트 감싸기 (= wrap속성 = 랩속성…
attribute HTML - onmouseover 속성 ★ - 마우스커서가 지정요소 위에 있을 때 실행 (= onmouseo…
attribute HTML - accesskey 속성 ★ - 요소접근키 (= accesskey속성 = 액세스키속성) ※ 요소접…
attribute HTML - ondblclick 속성 ★ - 요소 더블클릭 이벤트 시 실행 (= ondblclick속성 = …
attribute HTML - minlength 속성 ★ - 입력 가능한 최소 글자 개수 지정 (= minlength속성 =…
attribute HTML - placeholder 속성 - 입력값 '샘플/힌트/예시' 제공 (= placeholder속성 =…
image HTML - <picture> 태그 - 해상도 크기에 따라 다른 이미지 표시 지정 (= picture태그 =…
attribute HTML - onblur 속성 ★ - 포커스 해제 이벤트 시 실행 (= onblur속성 = 온블러속성) ※ …
9/18
목록
찾아주셔서 감사합니다. Since 2012