4

2つのCookieの名前は同じですが、ドメインがわずかに異なる状況があります(cookie1にはドメインexample.comがあり、cookie2にはサブドメインを含む.example.comがあります)。

cookies[ :cookie_name ] = { :value => "test_value_cookie_1", :domain => "example.com" }
cookies[ :cookie_name ] = { :value => "test_value_cookie_2", :domain => ".example.com" }

両方のCookieが存在することを検出したいのですが、残念ながら、独自のドメインでCookieにアクセスする方法がわかりません。私は言うことができます

if cookies[ :cookie_name ].blank?

しかし、私はどのように言うのですか

if cookies[ :cookie_name, :domain => ".example.com" ].blank?

また

if cookies[ :cookie_name ].domain[ ".example.com" ].blank?

「actionpack-2.3.11/lib / action_controller/cookies」を使用しています。ドメインのような情報を設定できるのに、アクセスできない理由がわかりません。

4

1 に答える 1

4

どうやら私がやりたかったことは不可能だったようです。HTTP仕様では、ドメインで設定できる場合でも、名前でのみCookieにアクセスできます。

HTTPサーバーからURLをリクエストする場合、ブラウザはURLをすべてのCookieと照合し、いずれかが一致する場合は、一致するすべてのCookieの名前と値のペアを含む行がHTTPリクエストに含まれます。その行の形式は次のとおりです。Cookie:NAME1 = OPAQUE_STRING1; NAME2 = OPAQUE_STRING2 ... http://curl.haxx.se/rfc/cookie_spec.html

于 2011-09-19T15:42:10.770 に答える