Доступ к файлам cookie Rails по доменам - PullRequest
4 голосов
/ 26 августа 2011

У меня есть ситуация, когда два куки имеют одно и то же имя, но несколько разные домены (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" }

Я хочу определить, существуют ли оба куки-файла, но, к сожалению, я не могу понять, как получить доступ к куки-файлу через собственный домен.Я могу сказать

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/печенье".Я не понимаю, почему вы можете установить информацию, такую ​​как домен, но не получить к ней доступ.

1 Ответ

4 голосов
/ 19 сентября 2011

Видимо, то, что я хотел сделать, было невозможно.Спецификация HTTP разрешает доступ к файлам cookie только по имени, даже если они могут быть установлены по домену:

При запросе URL-адреса с HTTP-сервера браузер сопоставляет URL-адрес со всеми файлами cookie и, если они естьиз них совпадают, строка, содержащая пары имя / значение всех совпадающих куки, будет включена в HTTP-запрос.Вот формат этой строки: Cookie: NAME1 = OPAQUE_STRING1;NAME2 = OPAQUE_STRING2 ... http://curl.haxx.se/rfc/cookie_spec.html

...