Cookies über Subdomains und Hosts hinweg
In der Anwendung, die ich mit einer Kombination aus Entwicklungsumgebungen und Sprachen schreibe, muss ich auf ein Cookie aus zwei verschiedenen Unterdomänen zugreifen, die sich jeweils auf einem separaten Host befinden.
Der Cookie wird auf @ gesetwww.mydomain.com
mit dem folgenden PHP-Code, und ich versuche, von @ darauf zuzugreifdistant.mydomain.com
auf einem separaten Host.
setcookie('token', base64_encode(serialize($token)), time()+10800, '/', '.mydomain.com');
Ich versuche, von @ auf den Cookie zuzugreifedistant.mydomain.com
mit dem folgenden Code:
if (isset($_COOKIE['token'])) { /* do stuff */ }
Das Problem:distant.mydomain.com
findet das Cookie nicht. Dasif
ie gerade erwähnte @ -Anweisung gibt false zurück, obwohl das Cookie existiert.
Ich habe bestätigt, dass das gesetzte Cookie für @ ismydomain.com
(durch Überprüfen meiner Firefox-Cookies). Ich kann mir keinen Grund vorstellen, warum das nicht funktionieren würde.
Mit demselbensetcookie
code, ich habe eine alte Anwendung, die ausschließlich auf dem @ läuwww.mydomain.com
host, und diese Anwendung kann domänenübergreifend auf das Cookie zugreifen. Dies lässt mich vermuten, dass das Problem mit separaten Hosts zu tun hat.
Nur für den Fall, dass eine der folgenden Informationen relevant ist:
- www.mydomain.com
ist IIS 6.0
- distant.mydomain.com
ist Apache 2.2.9
- Beide Server verwenden PHP 5.2.x
- Beide Server arbeiten unter Windows Server 2003
Wenn ich weitere Informationen zur Verfügung stellen kann, um das Problem besser zu beschreiben, lassen Sie es mich bitte wissen!