2017-12-22 18 views
1

siteB.com内のiframeにロードされているsiteA.comというアプリケーションがあります。 直接警告はありません。siteA.com but getting siteB.comのiframe内にある場合、認識できないコンテンツセキュリティポリシーの指示文 'frame-ancestors'。これはSafariでのみ可能です。Safari:認識できないコンテンツセキュリティポリシーの指示文 'frame-ancestors'

すべてのこれらの変更は、私はコンテンツセキュリティポリシーディレクティブを許可するようにsiteA.comに追加する必要があり

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

何ヘッダ運とメタタグ siteA.com

を作ったフレーム - 祖先?

は、その後、私は頭の中で追加のindex.phpメインで試してみました:

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

それでもシティアでの作業が、SiteBのされていません。

はまた、.htaccessファイル*

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

何も* に加えます。 問題はSafariで上昇しているので、

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

でも試してみましたが、これも、エラーが発生します。

フレーム祖先のURLが正しいものではない場合、テストされた他のブラウザでは全くロードされません。

私は間違っていますか?

答えて

0

認識されないコンテンツセキュリティポリシーディレクティブ「フレーム-先祖の

これは、ブラウザレベルのエラーで、あなたはこの問題を解決することはできません。 Safari 9以上を使用していますか? Safariはframe-ancestorsSafari 10で始まる)のみをサポートしています。このエラーは、単にブラウザが何を無効にしているのかを無視していることを意味します。そのディレクティブが存在しない場合に通常発生するものを超えてサイトに悪影響を及ぼすべきではありません。すべてのコンソールエラーを処理する必要はありません。

コンテンツセキュリティポリシーのようなものを使用する場合、古いブラウザの中にはすべての機能をサポートしていないものがあります。あなたは、漸進的な改善のコンセプトのためにそれらを実装しなければなりません。

Safariは基本的には、標準、特に旧バージョンのサポートに遅れているという点で、率直に言って新しいIEです。最先端のサポートを期待してはいけませんが、そのために新しい機能を実装することを心配してはいけません。 IEとは違ってSafariは追いついていますが、これらの欠けている機能は以前のようにウェブサイトを完全に破ることはありません。 Safariだけでなく、ChromeがChromeの前にものを取得するなどの場合があります。

関連する問題