Wie POST-Daten für Anmeldung übergeben?

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von b.legt210, 25.01.2007.

  1. b.legt210

    b.legt210 Thread Starter MacUser Mitglied

    Beiträge:
    81
    Zustimmungen:
    4
    MacUser seit:
    01.03.2006
    Szenario:
    Es gibt eine Domain A in welcher Benutzer ein Konto haben. Einige dieser Benutzer haben auch auf Domain B ein Konto. Auf Domain B wird die Anmeldung über ein POST-Formular geregelt.

    Frage:
    Wie kann ich von Domain A aus die Daten an Domain B übergeben, ohne dabei mit einem sichtbaren Fenster zu arbeiten, also etwa so:
    Domain A beinhaltet einen Link auf eine Seite "extern_login.php" in Domain A (so bekomme ich ein neues Fenster). Hinter diesem Link werden nun die Benutzer-Daten abgeholt und sollen an Domain B weiter gegeben werden.

    Bisherige Versuche:
    Irgendwie muss das ganze über eine header()-Weiterleitung geschehen. header("Location: Domain B") übergibt aber keine POST-Daten. Mit header("POST ..") werden zwar POST-Daten übergeben, der "Fenster-Focus" (oder die Basis dieser Seite, oder wie auch immer) ist aber nachwievor "Domain A/extern_login.php".
     
  2. Manjo

    Manjo MacUser Mitglied

    Beiträge:
    903
    Zustimmungen:
    22
    MacUser seit:
    25.07.2005
    Warum so kompliziert. Regel das doch über die Datenbank. Der Status LoggedIn/Out wird doch sicherlich in einer DB festgehalten. Bei Zugriff auf Domain B schaut Domain B einfach in der DB für Domain A nach, ob der User eingeloggt ist.
     
  3. getraenkemarkt

    getraenkemarkt MacUser Mitglied

    Beiträge:
    688
    Zustimmungen:
    40
    MacUser seit:
    27.01.2006
    Wenn Du es ohne Datenbank machen willst:
    Warum übergibst Du die Daten nicht wie selbst vorgeschlagen über eine header ()-Seite, aber als REQUEST? Auf Domain B dann einfach noch als zusätzliche Variablen-Input-Möglichkeit integrieren.
     
  4. falkgottschalk

    falkgottschalk MacUser Mitglied

    Beiträge:
    24.026
    Zustimmungen:
    1.598
    MacUser seit:
    22.08.2005
    Hallo,

    Ich würde einer produktiven Datenbank, hier dann wohl MySql, keinen anderen User geben als "@localhost". Das wäre mir dann viel zu riskant.
     
  5. Jakob

    Jakob MacUser Mitglied

    Beiträge:
    1.067
    Zustimmungen:
    21
    MacUser seit:
    05.01.2004
    Funktioniert eine session auch über mehrere Domains? Wenn ja, dann wäre das sich mein Favorit.
     
  6. b.legt210

    b.legt210 Thread Starter MacUser Mitglied

    Beiträge:
    81
    Zustimmungen:
    4
    MacUser seit:
    01.03.2006
    Zunächst mal Danke für die Antworten. Näheres im Einzelnen:

    1. direkter DB-Zugriff von B nach A. Sowas würde ich erstens grundsätzlich vermeiden und zweitens ist das nicht möglich, da Domain B und Domain A nicht auf dem selben Server liegen.

    2. Allgemein: habe ich keinen Einfluss auf Domain B und die dortige Anmelde-Prozedur. Ich habe lediglich Einfluss auf die "Dienste" in Domain A.

    3. Daten per REQUEST übergeben entspricht ja Daten per POST übergeben. Wobei dann hier das schon beschriebene Phänomen bleibt, das der "Focus" dieser Seite nach wie vor bei Domain A liegt und nicht bei Domain B.

    4. SESSIONs gelten niemals über mehrere Domains. Außerdem müssten ja auch hier Eingriffe auf Domain B vorgenommen werden. Da hab ich aber keinen Zugriff.

    Nochmal als Erklärung:
    Ich will ein POST-Formular mit Daten bestücken, an ein Adresse schicken und anschließend die Antwort des Formular-Empfängers in der Seite haben.

    Bsp: es sollen meine Anmelde-Daten an http://www.macuser.de/forum/login.php geschickt werden. Als Ergebniss-Fenster möchte ich dann eben das entsprechende MacUser-Fenster sehen, wobei die Adresse (oder der Focus des Fensters) bei http://www.macuser.de/forum/login.php liegen soll.
    Dabei will ich eben vermeiden zum versenden ein sichtbares Fenster mit einem Formular zu verwenden. In diesem Formular würden die Anmelde-Daten ja als "Klar-Text" drin stehen (auch in hidden Feldern).
     
  7. scope

    scope MacUser Mitglied

    Beiträge:
    4.081
    Zustimmungen:
    301
    MacUser seit:
    24.01.2005
    Nur kurz eingeworfen — natürlich kann ich von Domain A auf die
    Datenbank von Domain B zugreifen. (Dass das in diesem Fall sicher nicht
    empfehlenswert, sei mal dabei außenvorgelassen.)
     
  8. getraenkemarkt

    getraenkemarkt MacUser Mitglied

    Beiträge:
    688
    Zustimmungen:
    40
    MacUser seit:
    27.01.2006
    @falkgottschalk + scope:
    So riskant ist das nicht. Erstens unterstützt MySQL SSL, zweitens kann man den Zugang ja nur für den zweiten Rechner freigeben, drittens (für Freaks) kann man das ganze auch noch über SSH tunneln.

    Zu 3.:
    Warum entspricht POST REQUEST? REQUEST-Daten werde in der Adreßzeile übergeben, welcher "Fokus" liegt dann noch bei Domain A? Vielleicht geht es aber auch nicht, weil B, auf die Du keinen Zugriff hast, keine POST-Daten verarbeitet.
     
  9. b.legt210

    b.legt210 Thread Starter MacUser Mitglied

    Beiträge:
    81
    Zustimmungen:
    4
    MacUser seit:
    01.03.2006
    Um es nochmal zu erwähnen: Hinweise zu direkten DB-Verbindungen nutzen mir nichts.

    @jkm:
    REQUEST beinhaltet die Summe aller Anfragen, also POST- GET- und noch ein paar weitere Daten. Die Anmeldung auf Domain B ist definitiv per POST geregelt, also muss ich auch Daten per POST übergeben und nicht per GET, was der Übergabe in der Adress-Zeile ala ?param1=wert1&param2=wert2 entspricht.
     
  10. getraenkemarkt

    getraenkemarkt MacUser Mitglied

    Beiträge:
    688
    Zustimmungen:
    40
    MacUser seit:
    27.01.2006
    @b.legt210:
    Ich hatte REQUEST synonym zu GET verwendet.
     
Die Seite wird geladen...

Diese Seite empfehlen