2010-12-06 3 views
0

태그를 사용하고있는 페이지가 하나 있습니다. 이 iframe의 소스로서 하나의 외부 webapp를 전달하고 있습니다. 이제이 앱이로드 될 때 홈 페이지에 앱이 프레임 내부 또는 상위 창에로드되는지 여부를 확인하는 코드가 있습니다. 그것이 부모 창에 없다면 부모 창에 대한 참조를 얻고 그것을 부모 창에 표시하는 방식으로 위치를 변경합니다. 이제이 웹 응용 프로그램을 제어 할 수 없으므로 홈 페이지를 변경할 수 없습니다.이 응용 프로그램이 부모 창 위치를 변경하는 것을 막을 수있는 해결 방법이 있습니까? 다음은 사용중인 샘플 코드입니다. 내부 webapp의 URL을 제공 할 수 없습니다. alter msg "test"를보기 전에 webapp이 부모 윈도우의 위치를 ​​변경하고 있습니다.iframe 내부 웹 응용 프로그램이 부모 창 위치를 변경합니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
<title>Example</title> 
<style type="text/css"> 
</style> 
<script type="text/javascript"> 
// <![CDATA[ 
window.onload = function() 
{ 
    alert('test'); 
    //frames["my_iframe"].onload = function() 
    //{ 
     //alert("hey"); 
    //} 
    //this also works for me: 
    document.getElementById("my_iframe").onload = function() 
    { 
     alert("hey"); 
    } 
    } 
// ]]> 
</script> 
</head> 
<body> 
Testing iframe....<br> 
<iframe name="my_iframe" id="my_iframe" src="http://mywebapp.com" width="100%" height="100%" ></iframe> 

</body> 
</html> 

답변

1

당신은 XSS 또는 교차 사이트 스크립팅라고도 인해 보안 메커니즘에 대한 현대적인 브라우저에서 불가능 명백한 이유를 위해,이다 일을 위해 노력하고 있습니다.

+0

내가 원하는 모든입니다 ... (웹 애플리케이션으로 당신이하지에 대해 이야기)하지만 마지막에 모든 페이지를 프레임 할 수있는 방법이있을 것 같다 내부 웹 애플리케이션을 중지하여 부모 윈도우의 위치를 ​​변경하십시오. – user509755

+0

운이 좋지 않을까 걱정됩니다. 현대의 브라우저에서는 다른 도메인의 스크립트 동작을 변경할 수 없습니다. –

0

이 기사에서는이 문제에 대해 논의하고 '솔루션'을 제공합니다. 그것은 사실에 대한 프레임 된 피할 것

We Done Been ... Framed!

관련 문제