4 Stimmen

Zugriff auf Rails-Cookies nach Domäne

Ich habe eine Situation, in der zwei Cookies denselben Namen, aber leicht unterschiedliche Domänen haben (Cookie1 hat die Domäne example.com, während Cookie2 eine Sub-Domäne inklusive .example.com hat).

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

Ich möchte erkennen, wenn beide Cookies existieren, aber leider kann ich nicht herausfinden, wie ich auf ein Cookie über seine eigene Domäne zugreifen kann. Ich kann sagen

if cookies[ :cookie_name ].blank?

aber wie soll ich sagen

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

ou

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

Ich verwende "actionpack-2.3.11/lib/action_controller/cookies". Ich verstehe nicht, warum man Informationen wie die Domäne festlegen, aber nicht darauf zugreifen kann.

4voto

Ethan Heilman Punkte 15558

Offensichtlich war das, was ich tun wollte, unmöglich. Die HTTP-Spezifikation lässt nur den Zugriff auf Cookies nach Namen zu, obwohl sie nach Domäne festgelegt werden können:

Wenn eine URL von einem HTTP-Server angefordert wird, wird die Brow URL mit allen Cookies ab, und wenn eines von ihnen übereinstimmt, wird eine Zeile mit die Name/Wert-Paare aller übereinstimmenden Cookies enthält, in die HTTP-Anfrage. Das Format dieser Zeile ist wie folgt: Cookie: NAME1=OPAQUE_STRING1; NAME2=OP http://curl.haxx.se/rfc/cookie_spec.html

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X