PHP Cookies für mehrere Domains
Erstellen Sie ein cookie von einer domain, sobald der Benutzer registriert ist in PHP. und machen dieses cookie zugänglich zu 4 anderen domains die subdomain nicht. Ich weiß, dass cookies sind nicht darauf ausgelegt zu sein, erreichbar für andere Domänen. Zum Beispiel habe ich ein cookies variable $user_email von der domain www.firstdomain.com und wollen es in anderen domains wie www.seconddomain.com, www.thirddomain.com etc. Kann sein, dass das getan werden kann, mit Hilfe von PHP oder JavaScript. Irgendeine Idee bitte.
Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie Sie bereits gesagt haben, ist ein cookie nur gesetzt werden für eine domain, die domain (inklusive subdomains). Und wenn Ihre Domänen keinen gemeinsamen Superdomäne, Sie müssen legen Sie jedes cookie für jede domain separat.
Können Sie dies mit einem Skript, dass auf jede Domäne setzt den cookie für Sie. Aber stellen Sie sicher, dass die Authentifizierung von Anforderungen, um diese Skripts so, dass nur Sie können die cookies.
Lesen hier.
laden Sie in einem iframe von einem host, dann lädt sich mit dem codierten cookie-Wert in dem segment Teil (nach der #).
können Sie dann auf das Dokument zugreifen.location-Attribut aus dem übergeordneten Fenster (trifft das einzige, was zugänglich ist). decodieren Sie es und geben Sie es zu Ihrem server und mache ein ajax-request.
Diese könnte ungefähr so Aussehen.
xss.php (befindet sich auf cookies.example.com):
für diesen speziellen Fall muss es nicht sein, das hashtag! seine nur praktisch für andere Situationen. dies kann auch durchgeführt werden in javascript.
einer anderen website eingebettet xss.php:
diese teqnique heißt xss-Empfang. es wird zum Beispiel genutzt, die von facebook für alle Ihre javascript-Bibliotheken verbinden.
eine wohl bessere Möglichkeit wäre eine Art von token-Austausch-Protokoll, wie openid.
amazon nutzt dies auch.
können Sie ein openid-Anbieter (es gibt librarys zur Verfügung, die das tun, out of the box) und legen Sie es auf auotmatically-Umleitung, ohne Benutzer-Interaktion. ich habe oft gesehen openid-Protokoll verwendet, für einige andere Zwecke wie cross-domain-Kommunikation.
Ich gelöst hatte genau das gleiche problem (eigentlich auch für die 4 domains). Die einzige Lösung, die ich habe kam mit 3 versteckten iframes auf der 'Erfolgreichen login Seite" und denen, die iframes laden Sie einfach http://www.domain1.com/register_session.php, http://www.domain2.com/register_session.php usw....
Als parameter für register_session.php ich 'sid', die enthält eine session-ID:
Dies ist eigentlich für die Aufbewahrung session alive auf alle diese domains, aber das gleiche würde für Ihren Fall mit cookies.
Ich ve getan einige Skripte zu behandeln multi-domain-cookie :
https://code.google.com/p/mudoco/
wenn Sie möchten, den Zugang Cookies in verschiedenen Domänen, so kann dies getan werden mit Hilfe von javascript-trick. Als cookie zugegriffen werden kann, innerhalb der gleichen Domäne.
Erstellen cookie auf dem browser des Benutzers mit JavaScript auf Ihre erste domain.
Legen Sie den Namen des Fensters auf den Wert der Cookies, die Sie wollen, zu tragen, zu einer anderen Domäne mit
window.name
.Schritt 2 sollte durchgeführt werden, auf jeder Seite der domain, die den cookie erzeugt hat. Es könnte sein, einfach durch den Aufruf einer JavaScript-Datei, die auf allen Seiten.
Wenn Sie zu einer anderen Domäne und möchten Zugriff auf die oben genannten cookie-Wert ist, mit
window.name
alswindow
hat sich nicht geändert.Erstellen neuer cookie für diese Domäne und weisen Sie diesen Wert zu.