2つのWebアプリを同じホスト上の同じパスで異なるポートで実行しています
そして
これで、最初のアプリにアクセスすると、abc
という名前のcookie sayが提供され、ブラウザにabc
が表示されます。別のタブを開いてapp2(https 1)に移動すると、ブラウザからCookie abc
がリクエストに含まれ(同じドメイン、同じパスのため)、このアプリはhttps
で実行されるため、セキュアフラグをtrueに設定します。
だから今私のブラウザーではabc
がsecureflag
= true
によってオーバーライドされているので、app_1(http
で実行中)にリクエストを送信すると、セキュアフラグのためにabc
を送信しません。abc
はセッションCookieであるため、ログアウトします。
これを克服する安全な方法は何ですか、
どちらのアプリも自分のものなので、別のアプリからのCookieハイジャックはありません
App2を別のパスに設定してみました/foo
だから今
そして
私のブラウザーが最初にfooからのCookieを保持している場合、すべてが正常に行われますが、app1を最初にヒットした場合、Cookieは/foo
に送信されます
最も簡単で明確なソリューションは、異なる名前のCookieを使用することです(セキュアサイトCookieでのsecureflag=true
の設定に加えて)。 abc
およびabc_secure
。これにより、開発とデバッグがはるかに簡単になります。