X-Permitted-Cross-Domain-Policies
응답 헤더 Security

개요

X-Permitted-Cross-Domain-Policies는 Adobe Flash·Adobe Reader(PDF) 같은 클라이언트가 이 도메인의 리소스에 접근할 때 참조하는 크로스도메인 정책 파일(crossdomain.xml)을 어디까지 허용할지 지정하는 헤더입니다. 대개 none으로 두어 레거시 플러그인의 데이터 접근을 원천 차단합니다.

자세히

Flash와 Acrobat은 다른 도메인의 데이터를 읽기 전에 서버 루트의 /crossdomain.xml 같은 정책 파일을 확인했습니다. 이 메커니즘은 정책 파일이 지나치게 관대하면(예: <allow-access-from domain="*"/>) 교차 도메인 데이터 탈취의 통로가 되곤 했습니다. X-Permitted-Cross-Domain-Policies는 그런 정책 파일을 클라이언트가 신뢰할지 여부를 서버가 헤더로 통제하게 합니다.

값 none은 어떤 정책 파일도 인정하지 않아 가장 안전하며, 현대 보안 베이스라인(예: OWASP Secure Headers)에서 권장됩니다. master-only는 루트 마스터 정책만, by-content-type은 올바른 Content-Type의 정책만 신뢰하고, all은 모두 허용해 위험합니다.

오늘날 Flash는 완전히 폐기되었고 PDF 크로스도메인 시나리오도 드물어 이 헤더의 실질 영향은 크지 않습니다. 그럼에도 보안 스캐너·컴플라이언스 체크리스트가 존재 여부를 확인하는 경우가 많아, 방어적 기본값으로 none을 명시하는 것이 관행입니다.

문법

X-Permitted-Cross-Domain-Policies: <none | master-only | by-content-type | by-ftp-filename | all>

e.g. X-Permitted-Cross-Domain-Policies: none

지시어 / 값

none어떤 크로스도메인 정책 파일도 허용하지 않음. 가장 안전한 권장값.
master-only루트의 마스터 정책(/crossdomain.xml)만 허용하고 하위 정책 파일은 무시.
by-content-type적절한 Content-Type을 가진 정책 파일만 허용.
all모든 크로스도메인 정책 파일을 허용(비권장).

실무 참고

관련 헤더

관련 상태코드

스펙 근거