v2.0.x Bug: Zugriff auf "Ihr Konto" nach Ablauf der Session!

Thema wurde von Manni_HB, 7. Juli 2011 erstellt.

  1. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Es gib da im GX2 eine kleine Unschönheit!

    Angemeldeter User geht Bügeln, Auto waschen, Fußball schauen, .....!
    Er kommt nach Ablauf der Session wieder an den Rechner - klickt auf "Ihr Konto" und ..... sieht mehr oder weniger Blödsinn.
    GX1 öffnet in einem solchen Fall gar nicht erst die "account-Seite" sondern direkt die "Login-Seite".

    Ist bestimmt nur eine Kleinigkeit zu ändern in der "account.php" ??
     
  2. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.693
    Danke vergeben:
    903
    Ist mir auch aufgefallen, wird von uns unter die Lupe genommen und korrigiert. Im Moment habe ich keinen Fix parat.
     
  3. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Macht nix - reicht auch noch für SP23f !!
     
  4. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Hai Moritz ... schon eine ungefähre Zeitvorstellung für den Fix?
     
  5. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.693
    Danke vergeben:
    903
    Nein.
     
  6. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Möchte nun doch noch mal nachfragen, ob es für o.g. Problem inzwischen einen Fix gibt.
     
  7. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Scheinbar habe nur ich dieses Problem und GM ist mit watt Anderem ausgelastet!?
    Hat niemand eine kleine Abfrage, die bei verfallener Session den Aufruft der "account.php" umleitet auf z.B. die "index.php"?
     
  8. blauemedien

    blauemedien Mitglied

    Registriert seit:
    22. Juli 2011
    Beiträge:
    5
    Danke erhalten:
    0
    Hallo zusammen,

    vielleicht hängt mein Problem damit zusammen.
    Ein User loggt sich ein und erhält eine Session-ID (XTCsid).
    Ein anderer User ruft eine Seite unseres Shops auf und "übernimmt" die Sitzung, also das Konto des zuvor eingeloggten Users!
    Hier gehört eine Session-ID offensichtlich gleichzeitig zu zwei IPs.

    Wie kann ich das reparieren?

    Gruß
    Heiko
     
  9. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.693
    Danke vergeben:
    903
    Hallo Heiko,

    ist das ein Vermutung oder hast du das Phänomen der Übernahme der Session reproduzieren können? Falls das Problem bei Dir tatsächlich besteht, würden wir uns das gerne einmal genauer ansehen. Am besten du machst dazu ein Ticket auf, falls noch nicht geschehen.
     
  10. blauemedien

    blauemedien Mitglied

    Registriert seit:
    22. Juli 2011
    Beiträge:
    5
    Danke erhalten:
    0
    #10 blauemedien, 13. September 2011
    Zuletzt bearbeitet: 13. September 2011
    Hallo Moritz,

    könnte ich den Fehler reproduzieren, hätte ich ihn schon gefixt. ;)
    Gestern hatten wir Kontakt mit einem Kunden. Der "landete" im Konto eines anderen Kunden, ohne sich überhaupt einzuloggen.
    Ich recherchierte dann nach der Session-ID (XTCsid). Der Kunde hatte dieselbe des Kunden, der vor ihm eingeloggt war.

    Ich habe nun im Admin-Bereich unter "Konfiguration" --> "Sessions" beim Einloggen "Session erneuern" auf "Ja" gesetzt und warte ab, ob der Fehler wieder auftaucht.

    Eine andere Frage, die theoretisch damit zusammenhängen könnte:
    Wie kann ich das System dazu bringen, die XTCsid nicht als GET-Parameter in die Links einzubauen? Es gibt jedesmal einen Session-ID-Konflikt, wenn ich im Browserverlauf gespeicherte Links mit XTCsid beim Start des Browsers aufrufe, wo ich in einer anderen Registerkarte durch die Erneuerung der Session beim Einloggen eine neue XTCsid erhalte.

    Gruß
    Heiko

    NACHTRAG:

    Habe "Session erneuern" wieder auf "Nein" gesetzt, da bei "Ja" das Problem besteht, dass Kunden nach dem Einloggen beim nächsten Klick wieder ausgeloggt werden!!!
    Werden die Session-Cookies im Browser beim Generieren einer neuen Session nach dem Login nicht angepasst?
     
  11. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.693
    Danke vergeben:
    903
    Hallo,

    ich habe mal einen Blick auf deinen Shop geworfen und festgestellt, dass dein Server die Session-ID untypisch aufbaut (keine 32, sondern nur 26 Zeichen und sogar Buchstaben von a-z sind möglich). Daher greift bei dir keine Sicherheitsfunktion in der includes/Smarty_2.6.14/plugins/outputfilter.note.php, die vorsichtshalber nochmals die Sessions-IDs im erzeugten HTML-Code filtert. Im Anhang findest du ein Update der Datei.

    EDIT: Habe den Anhang nochmals überarbeitet.
     

    Anhänge:

  12. blauemedien

    blauemedien Mitglied

    Registriert seit:
    22. Juli 2011
    Beiträge:
    5
    Danke erhalten:
    0
    Hallo Moritz,

    danke für die Datei! Geändert hat sie allerdings nichts. Und wenn ich sie mir anschaue, lässt sie auch Buchstaben, Ziffern und sogar einen Bindestrich ([a-zA-Z0-9-]) zu. Ich habe keine Ahnung, weshalb die Session-ID bei uns nur 26 Zeichen lang ist.
    Kann ich Dir den Ausschnitt aus meiner phpinfo() per Email senden?

    Gruß Heiko
     
  13. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.693
    Danke vergeben:
    903
    Hallo Heiko,

    es ist kein Problem, dass deine Session-ID nur 26 Zeichen lang ist und diese mehr Buchstaben als gewöhnlich enthält. Die neue Datei bewirkt auch nicht, dass die Session-ID nicht mehr im Quellcode erscheint, sondern sorgt nur dafür, dass keine fremde Session-ID ausgegeben wird. Nach Austausch der Datei müsstest du also beobachten, ob noch das Problem auftritt, dass Besucher plötzlich als jemand anderes eingeloggt sind. Das sollte nun nicht mehr passieren.
     
  14. Moritz (Gambio)

    Moritz (Gambio) Administrator

    Registriert seit:
    26. April 2011
    Beiträge:
    5.786
    Danke erhalten:
    2.693
    Danke vergeben:
    903
    Hier mein Lösungsvorschlag:
    In der Datei account.php nach
    PHP:
    include ('includes/application_top.php');
    Folgendes einfügen:
    PHP:
    if(!isset($_SESSION['customer_id']))
    {
        
    xtc_redirect(xtc_href_link(FILENAME_LOGIN'''SSL'));
    }
     
  15. Manni_HB

    Manni_HB G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Klappt einwandfrei - DANKE!
     
  16. Steffen (indiv-style.de)

    Steffen (indiv-style.de) G-WARD 2013/14/15/16

    Registriert seit:
    30. Juni 2011
    Beiträge:
    5.143
    Danke erhalten:
    1.466
    Danke vergeben:
    452
    Beruf:
    Systemadmin, Webentwickler bei Indiv-Style
    Ort:
    PhpStorm
    Manfred: Hab dein Szenario mal nachgestellt. Eingeloggt, und tschüss, ab zum Autowaschen und rasenmähen(alles Qutsch, hab`n Bierchen gezogen und eine geraucht!) und dann zurück an den Rechner: und -----> ÜBEL

    Mit den Änderungen von Moritz ist aber dann alles I.O.

    Schade eigentlich, an das Zsenario hätte ich mich gewöhnen können!!!!

    Danke für den Tip.