iframe 으로 크로스도메인 content 감지하기


안녕하세요!

iframe 크로스도메인쪽에 대해 여쭤보고싶습니다

현재 Iframe으로 외부도메인에 있는 본인인증 웹을 가져오는 상황입니다.

본인인증을 완료하면 어떤 빈페이지로 리다이렉트 되는 상황입니다.

이 리다이렉트되는걸 캐치해서 저의 본 페이지 (본인인증을 가지고있는 외부도메인과는 다릅니다.) 에서 콜백으로 처리를 해주고싶은데요.

iframe 의 src를 보니까 리다이렉트를 해도 src가 바뀌지 않더군요.

또한 자바스크립트로 iframe의 content를 가져오거나 보려고 시도를 하면 cross domain 에 걸려 막히는 걸로 알고있고 실제로 해보니 막혔습니다.

iframe의 src가 실시간으로 바뀌지 않는것도 크로스도메인 때문인가요??

또한 이런 iframe의 외부도메인에서 리다이렉트 되는걸 본사이트에서 캐치해서 콜백으로 처리할 방법이 없는지 알고싶습니다!

  • 2016년 05월 09일에 작성됨

조회수 756


1 답변


기본적으로 외부도메인에 대한 iframe내의 콘텐트를 가져오는 것은 보안상의 이유로 막았을 텐데요. 상호간에 cross-domain 에 대한 허가 설정이 없다면 안되지 않을까요?

iframe의 내용이 바뀌는 것을 감지하는 것은 다음과 같이 처리해보세요.

$("iframe").load(function(){
    // 이 iframe이 내용을 가져오거나 새로고침, 페이지 바뀜등으로 다시 가져올때 호출됩니다.
});

HTML5에서 cross-domain간의 iframe과 부모간의 통신 방법은 postMessage 라는 함수를 통해서 합니다.

  • 2016년 05월 09일에 작성됨
    리눅스(유닉스) 기반의 시스템에서 웹 서비스를 개발하고 있습니다.

  • iframe안에서 url이 변경되도 iframe의 src는 실시간으로 변하지 않는데 원래 이런것인가요?? 실제 url을 얻으려면 contentWindow의 location.href 를 이용해야 하는데 contentWindow에 접근하려면 크로스도메인이 걸립니다.contentWindow에 접근하지 않고 현재의 url을 얻는 방법이 있을까요??    김진혁   2016.5.9 19:15     
  • cross-domain이면 안될것 같은데요. 가능할 경우, OAuth등의 다양한 웹 인증과정을 중간에 가로챌수도 있어서... 심각한 문제가 될 수도 있습니다.    허대영(Daeyoung Heo)   2016.5.9 19:49     

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close