IE10は、他の主要なブラウザー(IE8、IE9、Firefox、Chrome、Safari)とは異なる方法でCookieとサブドメインを処理するように見えます。
テスト環境では、サブドメインを幅広く使用しています。例:
- user1.devel.example.com
- user2.devel.example.com
- qa.example.com
そして、私たちの本番環境は、example.com(および技術的にはwww.example.com)などの最上位にあります。
phpsetcookie($name, $value, $expires)
関数を単純に(明示的なパスまたはドメインが指定されていない)使用してCookieを設定し、値に空の文字列を割り当てて(ユーザーがログアウトしたときに)Cookieをクリアします。これは常に正常に機能し、それぞれの固有のサブドメインは独自のCookieを使用していました。
IE10は、TLDで設定されたCookieをすべてのサブドメインと「共有」するようになりました。 私たちが観察した最初の症状は、誰もサブドメインからログアウトできないことでした。私たちはいくつかのことを観察しました:
- 値を共有していても、サブドメインはCookieをクリアできません。
- TLDがCookieをクリアすると、すべてのサブドメインからもすぐに削除されます。
IE10がサブドメインに関連してCookieを保存/適用する方法と同様の動作を他の誰かが観察しましたか?最初のSet-Cookieヘッダーを送信するときにCookieがどのドメインに適用されるかを明示する以外に、回避策はありますか?