LoginSignup
3
1

More than 5 years have passed since last update.

Chrome56でCookie処理の変更があった

Last updated at Posted at 2017-02-23

Overview

自分が管理しているサイトにてChromeでログインできない問題が報告され、原因を追求して発見したのですが、Chrome 56にてCookie処理の変更があったようです。

変更内容は以下の通りです。

HTTPSページでSecure Cookieを発行した場合、HTTPページで同名のCookieを上書きしない。

一般画面はHTTP、ログイン画面はHTTPSのようなHTTPとHTTPSを行き来するサイトで影響がでてきます。

問題発覚の経緯

自分のサイトではCakePHPを使用しており、HTTPSにアクセスした場合はデフォルトでSecure Cookieが発行されるようになっていました。

  1. SSLのログイン画面にアクセスする
  2. Secure CookieでSessionを発行する
  3. ログインする
  4. ログイン後、HTTPページ(トップなど)にリダイレクト
  5. Cookieが送信されないのでログインできていない状態になる
  6. 再度ログインしようと、ログイン画面にアクセスする
  7. Secure Cookieが送信され、ログイン済みと判断されHTTPページにリダイレクトされる
  8. →5ループ

他のブラウザでは、5の段階でSecureCookieを上書きし6,7の処理で再ログインできるのですが、Chrome 56の仕様でSecureCookieが上書きできなくなったためこのような現象になることが判明しました。

仕様変更の経緯

この仕様変更についてはChromiumのバグトラッカーにて議論されています。

2016年9月5日
GoogleがIETFというインターネットの仕様を議論する組織に対してSecureクッキーの上書きしないように【提案】しています。
draft-ietf-httpbis-cookie-alone-01
2017年1月25日
Chrome 56リリース。提案の段階であるにもかかわらずChromeに実装されていた模様。
2017年1月27日
Chromiumに反映

感想

Googleが仕様変更を先急ぎした感がかなり強いですが、こういった変更をする場合、先に告知をしていただきたいものです。
そもそもCakephpがHTTPSの場合はデフォルトでSecureCookieを発行するという仕様にも問題があると思われますが・・・。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1