2016-09-15 4 views
5

a.example.comb.exampleの2つのWebページがホストされています。各Webページには、<script>タグ付きのスクリプトが含まれ、別のドメインでホストされ、正しいCORSヘッダーが提供されます。Safariの参照元とプリフライトリクエストヘッダーがユーザーの移動時に変更されない

ある時点で、a.example.comからb.example.comに移動します。

Safariがここに奇妙な行動を持っている:プリフライトリクエストでreferreroriginヘッダはAccess-Control-Allow-Originで不正な値を送信するサーバを作り、a.example.comで満たされている(ので、スクリプトが実行できません)。

Safariブラウザにこのようなシナリオで正しいoriginヘッダーを送信させる方法はありますか?

+2

質問に記載されている内容が正確であれば、これはSafariの悪いバグのように思われます。 – sideshowbarker

+0

要求に応じて送受信されたヘッダーの完全なダンプをスクリプトに追加してもよろしいですか?潜在的な使用エラーを発見するためのものではない場合、少なくとも複製可能であることについては? ** **どのようにユーザーがナビゲートしますか?サーバー側のリダイレクト、またはクライアント側では? – Ext3h

答えて

1

スクリプトのキャッシュポリシーにはVary: Originが含まれていますか?

b.example.comに移動した後、実際に別のリクエストがありますか?

もしそうでなければ、ポリシーがリソースへのアクセスを禁止しているにもかかわらず、Safariが実際にキャッシュからスクリプトを提供している可能性があります。キャッシュポリシーが正しく設定されていない場合、適合する動作です。

+0

ありがとう@ ext3h。変更されたヘッダーが正しく送信されるため、これは原因ではないと私は信じています。 –

0

実際にSafariのバグだったようです。

Safari 10.0ではこの問題は再現できません。それはSafari 9.1.1/9.1.3のみで再現されます。

関連する問題