Mein Kumpel Carsten Lau kam mit einer interessanten Idee zum Lesen von Cross-Domain-Cookies.Cross-Domain-Cookies - eine vielleicht neue Idee
Situation: Sie möchten einen Cookie von der Domäne "A" lesen, der für Domäne "B" festgelegt wurde. Idee: Von dem Client auf Domäne "A" führen Sie eine Get-Anforderung an eine dynamische Ressource auf Domäne "B" aus - z. ein Bild oder Javascript, das auf dem Server "B" tatsächlich eine Programmiersprache ist, die Cookies wie PHP, Java usw. lesen kann. Mit dieser Anfrage senden Sie eine eindeutige Kennung wie eine Session-ID. So ist der Code auf dem Client, die wie folgt aussehen an einem Standort auf Domain „A“ könnte aussieht:
<img src="www.domainB.com/?getCookie.php?sessionID=1234">
Jetzt kommt der lustige Teil, liest Server B auf Server-Seite das Cookie von Domain „B“ und schreibt das Ergebnis mit der angegebenen Session-ID entweder in eine DB, auf die die Domäne "A" zugreifbar ist, oder gibt eine Antwort zurück, die die Cookie-Informationen an den Client in der Domäne "A" enthält, die sie dann über AJAX an den Server "A" sendet.
Ich bin ziemlich sicher, dass es einen Fehler gibt, den wir noch nicht gefunden haben. Ich persönlich glaube, dass der Server "B" keine Cookie-Informationen lesen kann, da die Client-Browser-URL auf die Domäne "A" zeigt, aber die oben erläuterte "getCookie" -Anforderung zeigt natürlich auf "B".
Bitte sagen Sie uns, was Sie darüber denken, warum es funktioniert oder warum es nicht funktionieren kann. Ein kleiner Proof of Concept war zu meiner großen Überraschung erfolgreich.
Dies sollte funktionieren. Auf diese Weise handhaben Websites Anmeldungen für Benutzer aus verschiedenen Domänen, da die Domänen Datenbanken gemeinsam nutzen, die Sitzungsdaten enthalten. – Joseph
Danke. Überall im Internet und hier auf SO können Sie "Cross-Domain-Cookies = unmöglich" lesen, während dieser einfache Hack es tatsächlich ermöglicht, wenn Sie beide Domains besitzen und ein kleines Skript auf Domain "B" hinzufügen können? Seltsam ... –
Das ist nichts Seltsames. Sie lesen oder setzen hier kein Cookie für eine andere Domain - das ist nicht nur in Ihrer Domain möglich. Wenn Sie "Hilfe" von der anderen Domain haben, dann gibt es wenig "cross-domain" darüber - Sie erhalten die Info _by choice_ von der anderen Domain; während die domänenübergreifende Richtlinie vorhanden ist, um zu verhindern, dass dies geschieht, wenn die andere Domäne dies nicht möchte. – CBroe