IFRAME의 콘텐츠, 보안 및 디자인 속성
이 요소를 사용하면 다른 웹 페이지를 웹 페이지에 직접 포함시킬 수 있습니다. 그러나 iframe을 사용할 때 HTML 4.01에서 다루지 않은 보안 및 디자인 문제가 있습니다. HTML5는 이러한 요소를 해결하기 위해이 요소에 세 가지 새로운 특성을 제공합니다.
샌드 박스 속성
IFRAME 요소의 샌드 박스 특성은 iframe의 매우 유용한 보안 기능입니다. IFRAME 요소에 배치하면 사용자 에이전트가 사이트 및 사용자에게 보안 위험을 초래할 수있는 기능을 금지하도록 지시합니다.
예 :
보안 상 위험 할 수있는 모든 기능을 브라우저가 허용하지 않도록 브라우저에 지시합니다. 특히 플러그인은 허용되지 않습니다. 양식을 제출할 수 없습니다. 스크립트는 실행되지 않고 IFRAME 외부의 링크는 허용되지 않습니다. 마지막으로 쿠키, 로컬 저장소 및 동일한 도메인 (원본)에있는 다른 페이지에 대한 액세스는 허용되지 않습니다.
그런 다음 샌드 박스 키워드 값을 사용하여 일부 기능을 다시 사용하도록 설정할 수 있습니다. 이러한 키워드는 다음과 같습니다.
- allow-forms -allow 양식 제출
- allow-same-origin -allow 스크립트가 동일한 원본 도메인의 쿠키와 같은 콘텐츠에 액세스합니다.
- allow-scripts-이 IFRAME에서 스크립트를 실행할 수 있습니다.
- allow-top-navigation-IFRAME 링크 및 스크립트를 _top 대상에 허용
allow-scripts와 allow-same-origin 키워드를 같은 IFRAME에 함께 설정하는 것은 좋지 않습니다. 이렇게하면 포함 된 페이지에서 샌드 박스 특성을 완전히 제거하여 보안상의 이점을 없앨 수 있습니다.
srcdoc 특성
srcdoc 속성은 웹 디자이너가 iframe과 보안을보다 잘 제어 할 수있게 해주는 속성입니다. 웹 디자이너는 다른 URL의 웹 페이지에 링크하는 대신 srcdoc 특성 내에 IFRAME에 표시 할 HTML을 배치합니다.
처음에는 " HTML을 페이지에 넣는 것과 다른 점이 무엇입니까?"라고 생각할 수도 있습니다. 그리고 어떤면에서는 끔찍한 차이가 없습니다.
그러나 신뢰할 수없는 데이터를 나머지 사이트와 분리하여 유지하는 IFRAME 요소의 기능 중 하나를 명심해야합니다.
양식과 같은 신뢰할 수없는 출처에서 생성 된 HTML을 IFRAME에 배치하면 신뢰할 수없는 콘텐츠를 "샌드 박싱"하고 페이지에 계속 표시 할 수 있습니다. 블로그 댓글이 그 예입니다. 대부분의 블로그에는 댓글 작성자가 댓글에 사용할 수있는 HTML 태그의 수가 제한되어 있습니다. 그러나 srcdoc 속성을 사용하여 샌드 박스 된 IFRAME에 이러한 주석을 배치하면 주석을보다 강력하게 만들 수 있으며 사이트 전체를 보호 할 수 있습니다.
보안 및 iframe
위의 두 속성은 IFRAME 요소에 대한 보안을 제공하지만 모든 악의적 인 사이트에 대한 증거는 아닙니다. 악의적 인 사이트가 (예 : 브라우저에 URL을 입력하여) 적대적인 콘텐츠에 직접 액세스하도록 사용자를 설득 할 수있는 경우 공격을받을 수 있습니다.
가능한 경우 sandboxed IFRAME에있는 내용을 text / html-sandboxed MIME 형식으로 설정하는 것이 가장 좋습니다.
이음매없는 속성
seamless 속성은 iframe이 부모 문서의 일부인 것처럼 IFRAME을 표시하도록 브라우저에 지시하는 부울 속성입니다. IFRAME을 원활하게 표시하려면이 속성을 요소에 포함하십시오.
그러나 IFRAME을 매끄럽게 만드는 것은 단순한 모양 이상이며 페이지가 프레임과 상호 작용하는 방법이기도합니다. 예 :
- IFRAME 페이지에 목표 _SELF가 설정되어 있지 않으면 IFRAME의 링크가 상위 창 에서 열립니다 .
- IFRAME의 CSS가 전체 문서의 계단식에 추가됩니다.
- IFRAME 페이지의 루트 요소는 IFRAME의 하위 요소로 간주됩니다.
- IFRAME의 너비와 높이는 다른 블록 수준 요소 가 설정되는 방식과 비슷한 방식으로 설정됩니다.
- 상위 문서를 화면 판독기와 같은 음성 렌더링 도구로 볼 때 IFRAME은 별도의 문서로 발표하지 않고 읽습니다.
- 상위 문서의 모든 스크립트는 동일한 방식으로 IFRAME 문서에 영향을줍니다. 예를 들어, 스크립트가 페이지의 모든 프레임을 나열하면 IFRAME의 링크도 함께 나열됩니다.
즉, 이음새없는 속성은 IFRAME에서 테두리를 제거하는 것 이상을 수행합니다. IFRAME을 원활하게 설정하려면 악의적 인 사이트를 포함시켜 웹 사이트에 보안 위험을 추가하지 않도록 내용을 잘 알아야합니다.