1
  • ブラウザ:IE9
  • フレームワーク: Symfony 1.2
  • プラグイン: sfguard

例:

  • メインドメイン: domain.com
  • サブドメイン: subdomain.domain.com

つまり、メインドメインに移動してログインし、サブドメインに移動すると、すでにログインしています。それは望ましくありません。セッションを別の場所(session_save_path)に保存して修正しました。だからここに私の主な問題があります:

第 1 のシナリオ: メイン ドメインに移動し (ユーザーはログインしていません)、新しいタブを開き、サブドメインに移動します。

2 番目のシナリオ: サブドメインに移動し、新しいタブを開いてメインドメインに移動します。

ユーザーがサブドメインを使用してログインしようとすると、次のようになります。 最初のシナリオ: ユーザーがログインできない場合、アプリケーションはログイン ページにリダイレクトします。2 番目のシナリオ: ユーザーはログインできます。

Fiddler を使用して私が見たものは次のとおりです。 1 番目のシナリオ: ドメイン:

**Response** sent xxx bytes of Cookie data:
    Set-Cookie: symfony=drub66g3jlv16ukp1vf00hei42; path=/

サブドメイン:

**Request** sent xxx bytes of Cookie data:
symfony=drub66g3jlv16ukp1vf00hei42;

ログインしようとすると:

Response sent xxx bytes of Cookie data:
    Set-Cookie: symfony=9r0bqkmb29gqbe8pnhmae1rsj6; path=/

ホームページにリダイレクト:

Request sent xxx bytes of Cookie data:

symfony=drub66g3jlv16ukp1vf00hei42;
symfony=9r0bqkmb29gqbe8pnhmae1rsj6;

最後のリクエストが同じ Cookie を 2 回送信していることに注意してください。そのうちの1つはメインドメインに対応しています!!! mainDomain Cookie がサブドメイン Cookie を上書きしているようです!!!

しかし、2 番目のシナリオでは、Cookie は次の順序で送信されます: リクエストは xxx バイトの Cookie データを送信しました:

symfony=9r0bqkmb29gqbe8pnhmae1rsj6;
symfony=drub66g3jlv16ukp1vf00hei42;

サブドメイン Cookie が最初に送信されているため、これは機能しているようです。

サブドメインのアンダースコアに問題があることを確認しましたが、それは私の場合ではありません.ieをすべてのCookieを受け入れるように設定し、行ったすべてのテストについて、最初にすべてのCookieとキャッシュをクリアします.

symfony 1.2 が古いことは知っていますが、現在 symfony 2 に移行することはできません。これは symfony に関する問題ではないと思いますが、.

4

1 に答える 1