iframe 내부항목 접근 시 액세스 거부되는 현상

2010. 11. 9. 09:53plming/HTML-Web

<script>
function Loading( ifid ) {
 var ifname = 'if' + ifid;
 var ifobj = document.all[ifname];

 var divname = 'div' + ifid;
 var divobj = document.getElementById( divname );
 divobj.innerHTML = '';
 divobj.innerHTML = divobj.innerHTML + '<br>' + document.frames('if111').document.title;
}
</script>

<iframe id="if111" src="http://..." width="900" height="330" marginwidth="0" marginheight="0" frameborder="no" scrolling=no onload="Loading('111')"></iframe><p>
<div id="div111"></div>


iframe에서 접근한 웹페이지의 내용에 접근하기 위한 Code이다.
하지만, 동일한 서버에서 운영되는 웹페이지가 아닌,
외부의 다른 웹사이트라면
"액세스가 거부되었습니다." 라는 메시지가 출력되며
스크립트가 정상적으로 동작하지 않는다.

그 이유는 이렇다.


 실행서버의 위치가 다른 웹페이지는
 보안상의 이유로 접근이 불가합니다.

 http://www.abc.com/access.html
 http://www.def.com/readit.html의 Object를 참조할 수 없습니다.

 www.abc.comwww.def.com은 서로 다른 서버이기 때문입니다.

 웹의 보안규약상 접근할 수 없도록 되어 있습니다.
 Object가 참조가능하다면 function도 참조가능해지며 참조가능하다는 것은
 실행도 시킬 수 있다는 뜻이 됩니다.
 보안상 심각한 문제가 됩니다.

 웹브라우져에서 PC의 로컬프로그램을 액세스 할 수 없는 것이나
 다른 서버의 html을 참조 못하게 한 것이나 모두
 보안상의 문제로 막아놓은 기능입니다.

 다만 href로 호출하거나 그 페이지로 submit은 할 수 있습니다.


'plming > HTML-Web' 카테고리의 다른 글

HTML Object Reference  (0) 2015.05.27
반응형 웹 입력폼 코딩  (0) 2015.05.25
반응형 웹 디자인  (0) 2015.05.19
form enctype="multipart/form-data"  (0) 2010.04.08
긴 글...일정 부분만 보이도록 하기...  (2) 2009.05.15