Automatische Anmeldung über Method Post + Cookie + Zeitversetzter Zugriff

  • Hallo,

    Aufgabe/Projekt:
    //Schon vorhanden
    Ein User meldet sich im Kundencenter an.
    Nach der Anmeldung wird die Startseite des Kundencenters angezeigt.

    //Neu:
    Bei Anwählen eines bestimmten Menuepunkts/öffnen einer bestimmten Seite soll per Method Post ein Login an eine 3. Seite gesendet werden, die daraufhin einen Cookie setzt.
    Nun kann ein Iframe innerhalb des Kundencenters(der speziellen Seite) angezeigt werden, die die 3. Seite (nach login) beinhaltet.

    Problematik:
    - Der User soll nichts von der Anmeldung an der 3. Seite mitbekommen (diese soll im Hintergrund laufen)
    - Der Iframe darf erst dann geladen werden wenn die Anmeldung stattgefunden hat

    Die Daten per Post zu übermitteln ist kein Problem, allerdings wird je nach Methode entweder die "Submit" Seite angezeigt, oder der Cookie nicht gesetzt.
    Auf Seite 3 habe ich keinen Einfluss.

    Bitte um Denkansätze.

    Mit freundlichen Grüßen

  • Okay also ich hab schonmal nix verstanden :D :D liegt aber wohl an mir


    also du willst quasi dich auf einer 3ten Seite anmelden ohne das der User etwas davon merkt?

    Wie sieht den die anmeldung aus also das formular von der 3ten seite?

    Du erstellst eine datei, die rufst du dann in einem HIDDEN iframe auf und diese datei schickt eben dann das anmeldeformular zu der anderen seite ab mittels js zb


    mfg

  • Wie wäre es denn, wenn du beim erfolgtem Login eine Session-Variable setzt?

  • Hi,

    also das Problem ist, dass diese 3. Seite bei erfolgreichem Login selbst einen Cookie setzt und der muss ja beim User gesetzt werden.

    Die 3. Seite kann ich jedoch nicht editieren. Ich hab leider gerade kein Exemplar zur Hand, aber es ist ein stink normaler Login. Eine .php Seite übermittelt wieder Method Post die logindaten an eine weitere Seite, die wiederrum den Cookie setzt, der eine Sessionvariable beinhaltet.

  • :( sry ich versteh dein Problem nicht....

    Aber egal ob ich es versteh oder nicht

    Dein Problem ist auf jeden fall mit JS zu lösen, und wenn du willst das der iframe nur angezeigt wird wenn eingeloogt ist dann gibts du den iframe style display hidden und beim cookie setzen ein style display visibile

    Würde dir gern helfen aber im moment bin ich zu dumm^^

  • :( sry ich versteh dein Problem nicht....

    Aber egal ob ich es versteh oder nicht

    Dein Problem ist auf jeden fall mit JS zu lösen, und wenn du willst das der iframe nur angezeigt wird wenn eingeloogt ist dann gibts du den iframe style display hidden und beim cookie setzen ein style display visibile

    Würde dir gern helfen aber im moment bin ich zu dumm^^

    das problem ist nicht die anzeige im iframe, sondern eher, wie ich diese "versteckte" Anmeldung hinbekomme. Also es soll ja eine Seite per Method post angesteuert werden, die daraufhin einen cookie setzt. Das war meine eigentliche Problematik.
    Also lautet meine eigentliche frage: Wie schaffe ich es eine Seite mit method post anzusteuern, die daraufhin einen cookie auf dem user rechner setzt.

  • Geht das auch wenn ich den Inhalt des Iframes nicht verändern kann? Also kann ich von außen auf den Iframe zugreifen? So wie ich das sehe, müsste das in der Seite selbst stehen, die im Iframe angezeigt wird. Diese kann ich aber leider nicht verändern.


    Und sinnvollerweise müsste das PW auch noch verschlüsselt übersendet werden (bzw. der User sollte es nicht einsehen/abfangen können)...

    Einmal editiert, zuletzt von ZeroJoker (18. Juli 2009 um 21:07)

  • Hm ich versteh dein ganzes vorhaben nicht , aber man kann nicht auf ein iframe zugreifen wenn dieses auf einen anderen server ist, du kannst nur zb formular über ein iframe senden bzw eben get variablen an das src hängen

    Schreib mich ruhig mal in ICQ an nummer steht im Forum weil ob wir es so lösen bin ich mir nicht sicher :roll:
    Es sei den du zeigst mir mal eine online Demo und den code und so;)

  • Du könntest mit AJAX einen Post Request loswerfen und dann den Iframe laden lassen.

    Gruß crAzywuLf :D

  • Hat denn der Kunde auf der Drittseite genau dieselben Logindaten? Wenn ja - lies weiter, wenn nicht, erklär mal bitte genau was du dir vorstellst.

    Du kannst natürlich einen POST request mit PHP server-zu-server schicken, ohne Formular oder Benutzereingaben. Hier ein Beispiel mit curl:
    (allerdings muss dafür curl installiert sein, also zuerst mit phpinfo(); prüfen ob das der Fall ist)

    Sollte ungefähr stimmen so. $result ist ein Array mit Informationen der aufgerufenen Seite - nach mal ein print_r($result); - dann siehst du, wie du das Resultat auswerten kannst.

    Verbesserungspotenzial:
    Die Drittseite bietet dir eine Schnittstelle an (eine Seite), wo du den POST hinschicken kannst. Die Schnittstelle sollte verschlüsselte Passwörter entgegen nehmen und statt einer HTML Seite als Antwort, lieber unterschiedliche HTTP headers (oder XML) als Antwort liefern. Denn so wie es im Moment ist, sendest du Passwörter im Klartext durch die Gegend und das $result wird wahrscheinlich eine HTML Seite sein - und eine HTML Seite als Resultat ist unschön, denn wenn du ein geglücktes Login z.B. anhand einer Meldung auf der Seite beurteilst, und die Drittseite diese Meldung ändert, dann musst auch du dein Script ändern. Ausserdem ist es langsam.

    6 Mal editiert, zuletzt von phore (22. Juli 2009 um 17:34)

  • Hat denn der Kunde auf der Drittseite genau dieselben Logindaten? Wenn ja - lies weiter, wenn nicht, erklär mal bitte genau was du dir vorstellst.

    Du kannst natürlich einen POST request mit PHP server-zu-server schicken, ohne Formular oder Benutzereingaben. Hier ein Beispiel mit curl:

    Sollte ungefähr stimmen so. $result ist ein Array mit Informationen der aufgerufenen Seite - nach mal ein print_r($result); - dann siehst du, wie du das Resultat auswerten kannst.

    Verbesserungspotenzial:
    Die Drittseite bietet dir eine Schnittstelle an (eine Seite), wo du den POST hinschicken kannst. Die Schnittstelle sollte verschlüsselte Passwörter entgegen nehmen und statt einer HTML Seite als Antwort, lieber unterschiedliche HTTP headers (oder XML) als Antwort liefern. Denn so wie es im Moment ist, sendest du Passwörter im Klartext durch die Gegend und das $result wird wahrscheinlich eine HTML Seite sein - und eine HTML Seite als Resultat ist unschön, denn wenn du ein geglücktes Login z.B. anhand einer Meldung auf der Seite beurteilst, und die Drittseite diese Meldung ändert, dann musst auch du dein Script ändern. Ausserdem ist es langsam.


    Nett von dir aberr wir haben es via icq gelöst

    Er hat auch curl genommen