사실 이 기능을 막기위해 찾게된 건 아니고,

반대로 담당 시스템에서 iframe으로 타서비스를 사용중이였는데 갑자기 아래와 같은 메세지가 떠서..

ㅠㅠ;


"이 콘텐츠를 프레임에 표시할 수 없습니다."

이 웹 사이트에 입력한 정보의 보안을 위해서 이 콘텐츠의

게시자가 프레임 내 표시를 혀용하지 않습니다.


이런걸 ClickJacking이라고 하는 듯. 여튼!


아파치의 확장헤더 X-Frame-Options를 추가하여 우리 서비스를 외부서비스 iframe에서 호출하지 못하도록 막을 수 있다.


예제) Header always append X-Frame-Options SAMEORIGIN


X-Frame-Options 값

 설명

 DENY

 해당 페이지는 frame 내에서 표시 불가

 SAMEORIGIN

 동일 origin에 대해서만 frame 내에서 표시

 ALLOW-FROM uri

 특정 origin에 대해서만 frame 내에서 표시


※ 확장헤더이므로 브라우저마다 지원현황이 다르므로 주의하도록 한다.

- IE8+

- Opera 10.50+

- Safari 4+

- Chrome 4.1.249.1042+ (Allow-From not yet supported)

- Firefox 3.6.9 (or earlier with NoScript)


※ 참고자료

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options

https://blogs.msdn.microsoft.com/ieinternals/2010/03/30/combating-clickjacking-with-x-frame-options/



Posted by SungHoon, Park
,