2017-12-22 51 views
1

siteB.com 안의 iframe에로드 된 siteA.com 응용 프로그램이 있습니다. 직접 경고를로드하지 않아 siteA.com을 사용하는 경우 siteB.com의 iframe 내부에 인식 할 수없는 콘텐츠 보안 정책 지시문 'frame-ancestors'; Safari에서만 가능합니다.Safari : 인식 할 수없는 콘텐츠 보안 정책 지시문 'frame-ancestors'

이러한 모든 변화는

<meta http-equiv="Content-Security-Policy" content="frame-ancestors siteB.com"> 

내가 콘텐츠 보안 - 정책 지시문 프레임 - 수 있도록 siteA.com에 어떤 헤더를 추가해야 행운과 siteA.com에

메타 태그을 만들었다 선조?

header("Content-Security-Policy: frame-ancestors 'self' siteB.com;"); 

을하지만 여전히 사이트 B를 사이트 A에서 일하는 것이 아니라 :

그럼 난 머리에 추가 주요 index.php를에 노력했다.

또한 * htaccess로 *

Header set Content-Security-Policy "frame-ancestors: siteB.com" 

하지만 아무것도에 추가됩니다. 문제가 Safari에서 상승하기 때문에 ,

header("X-Frame-Options: ALLOW-FROM siteB.com"); 

와도 시도했지만이 경우에도 오류가 있습니다.

프레임 앞선 URL이 올바른 URL이 아닌 경우 테스트를 거친 다른 브라우저에서 전혀로드되지 않는 것이 좋습니다.

내가 뭘 잘못하고 있니?

답변

0

인식 할 수없는 내용 - 보안 - 정책 지침 '프레임 조상의

이 브라우저 수준의 오류입니다, 당신은이 문제를 해결할 수 없습니다. Safari 9 이상을 사용하고 있습니까? Safari는 frame-ancestors 만 지원하며 Safari 10부터 시작합니다. 오류는 또한 브라우저가 무효 지시문이 무엇인지를 무시하고 있다는 것을 의미합니다. 무효 지시문은 무엇을해야할지 모릅니다. 해당 지침이없는 경우 일반적으로 발생하는 것 이상의 사이트에 부정적인 영향을 주어서는 안됩니다. 모든 콘솔 오류를 처리해야하는 것은 아닙니다.

콘텐츠 보안 정책과 같은 것을 사용할 때 일부 구형 브라우저는 단순히 모든 기능을 지원하지 않습니다. 점진적 향상이라는 개념 때문에 여전히 구현해야합니다.

Safari는 기본적으로 표준, 특히 이전 버전에 대한 지원보다 뒤쳐져 있다는 점에서 솔직히 기본적으로 새로운 IE입니다. 최첨단 지원을 기대하지는 말고 새로운 기능을 구현하는 것을 두려워하지 마십시오. IE Safari와 달리, Safari는 따라 잡을 수 없으며 이러한 누락 된 기능으로 이전처럼 웹 사이트를 완전히 손상시키지 않습니다. Safari뿐만 아니라 Firefox는 Chrome 이전의 것들을 가져옵니다.