2017-11-20 9 views
0

私は、Webアプリケーションがiframe内に表示されているコーポレートWebポータルを使用しています。あなたが唯一の違いは、大文字と小文字であるが、URLが同じである見ることができるようにChromeの大文字のコンテンツセキュリティポリシー

Refused to display ' https://rbmidde02.corp.company.com/identity/server/ ' in a frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors https://RBMIDDE02.corp.company.com "

:私はクロームでメインアプリケーションを開こうとすると、テスト環境では、私はこのエラーを取得します。トップバーのURLは、iframe要素のsrc属性のように小文字ですが、まだこのエラーが発生します。アプリケーションは、URLが「https://rbmidde02.corp.company.com/identity/server/」で始まる識別処理をトリガーするためであっても大文字にiframeでURLを変更

<iframe id="mainIframe" iframe-onload="iframeLoadedCallBack()" class="ng-scope ng-isolate-scope" src="https://rbmidde02.corp.company.com/apps/repricer/" style=""></iframe> 

は、動作しません。

この問題を解決する方法はありますか?私たちの法人ユーザーはPCにChromeを搭載しているので、Firefoxを使うことは良いヒントにはなりません。

答えて

0

私はこれを実際に起こすことができませんでした(ユーザーのChromeブラウザは最新ですか?)。何らかの形で第2層のサブドメインのみが大文字と小文字を区別している可能性があります(Chrome 63以降、コンテンツセキュリティポリシーのサブドメインとドメインでは大文字と小文字は無視されます)。私はこれをテストするために2層のサブドメインを持っていませんでした。

これはどういうわけか読まれている場合、ドメインは大文字と小文字を区別しないため、Firefoxエラーではありません。

これを実際に修正するには、iframeではなく実際のコンテンツセキュリティポリシーヘッダー(またはメタタグ)を調整する必要があります。つまり、表示されているエラーメッセージが表示されます。 CSPを小文字に修正してください。奇妙なエッジケースが起こっていない限り、実際には関係なくロードする必要があります。

関連する問題