Variablen an andere Seite verschicken

Hallo Jungs und Mädchens :slight_smile:

Ich habe folgendes Problem, ich betreibe zwei Seiten auf denen man sich einloggen kann/muss. Der Kundenfreundlichkeit halber möchte ich gerne, dass sich die Benutzer mit den selben Userdaten auf beiden Homepages anmelden können - sprich nur auf einer Seite einen Account anlegen müssen und das Passwort auch nur auf einer Seite ändern müssen etc.

Da mein Webspace-Provider aus Sicherheitsgründen keine externen Zugriffe auf die Datenbank zulässt, fällt die Möglichkeit, die Userdaten nur auf einer Homepage zu speichern und von der anderen aus einfach auf die Datenbank zu connecten weg.

Darum habe ich mir überlegt, dass die Daten in beiden Datenbanken gleichzeitig gespeichert werden und bei einer Änderung der Userdaten einfach mit der anderen Datenbank synchronisiert werden.

Das hätte ich mir folgendermaßen vorgestellt:

Der Script speichert die Daten in die Datenbank und ruft danach im Hintergrund - ohne das der User davon etwas mitbekommt - einen Script auf der Anderen Homepage auf, der die Daten dort in die Datenbank schreibt. Ich müsste es also einfach nur hinbekommen, mit php die Seite seite2.com/editdata.php?user … MD5-String im hintergrund aufzurufen und dadurch den Script auszuführen.

Klingt jetzt extrem unsicher hab aber schon eine Idee wie ich das einigermaßen sicher mache.

Bedanke mich schon mal im Voraus für die Hilfe! :slight_smile:

Es sind doch dann eigtl. alle 2 Websites auf dem gleichen server, oder? dann ist doch die verbindung per localhost möglich?

Ja, die authentifizierung kann sogar ein scriptkiddie knacken…

Hallo redcrown, danke für deine Antwort!

Die beiden Homepages sind leider bei zwei verschiedenen Providern gehostet. Ich könnte zwar mit einer der beiden Domains zum andren Provider umziehen, dann ginge das mit localhost, aber wenn ich mir das ersparen könnte wär mir das nicht unrecht.

Ich hab zwar mittlerweile glaub ich ne Möglichkeit gefunden mit der ich das machen könnte, was ich wollte - einen php script kann man angeblich mit fopen ausführen ohne dass er als für den User sichtbare Seite geöffnet wird - aber wenn die ganze Sache zu unsicher ist, dann bring das nichts.

Okay…dann meine lae empfehlung…alle 2 sites zum gleichen hoster. der nutzer wegen.

Hi,

naja - du müsstest bei einer SingleSignOn-Lösung (geiler Begriff, oder) durchaus sensibele Daten zwischen den Hostern hin und herschieben. Sofern du auf beiden Hostern eine Nutzerdatenbank pflegst kannst du das bspw. über einen individuellen Token lösen (etwa ein MD5-Hash aus sinnlosem Zeug, Timestamp, Nutzername und Passwort oder dergleichen). Das wäre “halbwegs” sicher, aber natürlich auch phishbar.

Kannst du auf dem einen Server ein Zertifikat erstellen und es auf dem anderen Server bekannt machen, dann gäbe es nämlich die Möglichkeit Portforwarding über ssh; sieht dann wie folgt aus:
Server Eins hat ein Zertifikat:
Server Zwei läuft ein ssh-daemon:

  • kennt das Zertifikat des anderen Servers (bitte nicht Verisign oder so; das Debakel kennen wir alle)
  • ssh -L35956:localhost:3306 user@zweiterServer.com
  • dann kannst du im php-script alle mysql-Anweisungen für Änderungen an der User-Datenbank an beide Ports senden, nämlich dem Standard-Port und dem 35956

Falls das zu unsicher ist, bitte hier antworten, danke

Ich glaube nicht, dass das bei den genannten Restriktionen des Hosters möglich ist…