2

セッションCookieの安全なフラグをtrueに設定しようとしています。以下をenvironments/production.rbに追加しました

ActionController::Base.session_options[:secure] = true

本番モードでは、サーバーの応答にset-cookieヘッダーが表示されません(トラフィックを表示するためにTamper Data Firefoxツールを使用しています)。すべてのCookieを削除し、子ドメインを含むドメインを手動で設定してみました(ドメインは多くのアプリケーション間で共有されているため、appacheサーバーはリクエストを適切なアプリケーションに転送します。したがって、リクエストは常にローカルホストからのものであるかのようにアプリケーションサーバーによって受信されます。 )。また、開発モードでテストしようとしました。リクエストがhttp経由であっても、サーバーは少なくともCookieを設定する必要があると思いますが、ブラウザはhttp経由でCookieを送信しませんが、サーバーはset-cookieヘッダーを送信しません。 。セキュアフラグを設定しなくても、セッションは正常に機能します。ここで何かが足りませんか?

4

1 に答える 1

2

私のバージョンのactionpackでは、セッションCookieはsslにのみ設定されていることがわかりました。定義上、サーバーはリクエストがhttp経由の場合に安全なCookieを設定できますが、ブラウザはそれ以上のリクエストでCookieを送信しません。私のアプリケーションでは、アプリレベルではなくappacheレベルでSSLを適用しているため、railsによる最初のリクエストはhttp経由で行われ、Cookieは設定されていません。

于 2012-10-31T18:58:31.067 に答える