frame-ancestors
Content-Security-Policy Navigation

개요

frame-ancestors 는 어떤 오리진이 현재 페이지를 <iframe>·<frame>·<object>·<embed> 로 감쌀 수 있는지 제어합니다. 즉 클릭재킹 방어의 핵심 지시어로, 구식 X-Frame-Options 헤더를 대체합니다. 이 지시어는 default-src 로 폴백되지 않습니다.

자세히

frame-ancestors 'none' 은 어떤 사이트도 이 페이지를 프레임에 넣지 못하게 하고(= X-Frame-Options: DENY 에 대응), frame-ancestors 'self' 는 같은 오리진만 허용(= SAMEORIGIN 대응)합니다. 특정 파트너 사이트에만 임베드를 허용하려면 그 도메인을 나열합니다. X-Frame-Options 는 단일 도메인 지정이 불가능하고 값이 제한적인 반면, frame-ancestors 는 여러 오리진·스킴을 유연하게 지정할 수 있어 현대적 대체재입니다.

방향에 유의하세요. frame-ancestors 는 '남이 나를 프레임에 넣는' 것을 통제하고, frame-src 는 '내가 남을 프레임에 넣는' 것을 통제하는 정반대 지시어입니다. 또한 frame-ancestors 는 <meta> 태그로 전달된 CSP 에서는 무시되고 오직 HTTP 응답 헤더로 보낼 때만 유효하다는 제약이 있습니다.

문법

Content-Security-Policy: frame-ancestors 'self' https://trusted-partner.example.com

실무 참고

관련 지시어