본문 바로가기
WIKI 기술 지식 베이스

특정 HTTPS URL을 iFrame할 수 없는 이유

원문 보기 위키 갱신

이 문제는 대부분 URL 페이지에 설정된 헤더, 특히 X-Frame-Options:와 관련이 있어요. Datadog이 해당 URL을 iFrame할 수 있게 하려면 그 URL에 curl을 실행해 해당 필드의 값을 확인하고, DENY 또는 SAMEORIGIN을 ALLOW-FROM으로 수정하면 지정된 'uri'가 이 페이지를 프레임으로 사용할 수 있게 됩니다.

출처: 문서

본문

이 문제는 대부분 URL 페이지에 설정된 헤더, 특히 X-Frame-Options:와 관련이 있어요.

Datadog이 해당 URL을 iFrame할 수 있게 하려면 그 URL에 curl을 실행해 해당 필드의 값을 확인하고, DENY 또는 SAMEORIGIN을 ALLOW-FROM으로 수정하면 지정된 'uri'가 이 페이지를 프레임으로 사용할 수 있게 돼요.

https://ozcruising.fogbugz.com/login을 예시로 사용하면:

curl -I -X GET https://ozcruising.fogbugz.com/login
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
X-Frame-Options: SAMEORIGIN
Strict-Transport-Security: max-age=15552000
Set-Cookie: sUniqueID=20170117165311-54.147.147.211-va7t6961r1; expires=Sun, 17-Jan-2027 21:53:11 GMT; path=/; secure; HttpOnly
Set-Cookie: __RequestVerificationToken=9AfvMHhCQUYOZ4-hesydj0bib4VABiNIBt62BI66GOZD2pnchjazMLTd-bWFDrWxr8-6Z_KLMDNokaSD7j1fPwCqZuwjY1KEodRJK1rkPW81; path=/; HttpOnly
Set-Cookie: fb_SessionId=plvab8sfkh1fhrgc9lr8jd48okpojh; path=/; secure; HttpOnly
Date: Tue, 17 Jan 2017 16:53:12 GMT
Connection: close
Content-Length: 34778
Set-Cookie: SERVERID=webny7; path=/

이 헤더는 OzCruising 측에서 설정된 것으로, 브라우저가 다른 사이트의 iframe에서 이 페이지가 로드되는 것을 허용하지 않도록 지시하는 보안 조치예요.

참조: https://www.owasp.org/index.php/Clickjacking_Defense_Cheat_Sheet#Defending_with_X-Frame-Options_Response_Headers

더 알아보기 (Learn more)