Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Schwerwiegendes Login-Problem nach Update von 1.06 auf 2.0.X

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.000
    • Geschlecht:
    Wenn ein Shop von 1.06 auf 2.0.X upgedatet wird gibt es ein schwerwiegendes Problem mit den Session-Cookies, was dazu führt, daß User sich nicht mehr einloggen können (und dies logischerweise kommentarlos, also ohne irgendeine Fehlermeldung) bis sie die Cookies für die betroffene Domain gelöscht haben.
    Da die meisten User und auch die meisten Shop-Betreiber nichts davon und von den Hintergründen wissen ist das besonders schädigend.
    Für die Shopbetreiber ist es gar geschäftsschädigend, da sich viele User bei Login-Problemen nicht melden werden.

    Ich habe die kompletten Zusammenhänge noch nicht ganz durchschaut, zumal auch die Spezifikationen für Cookies und deren Domain-Attribut mir verwirrend kompliziert erscheint.
    Hintergrund des Problems (am Beispiel mit einer www-DOMAIN) soweit von mir verstanden:
    In den alten 1.06-Shops wurde die Cookie-Domain, also das Cookie-Attribut Domain, auf .DOMAIN.TLD gesetzt.
    In den neuen 2.0.X-Shops wird das Attribut auf .www.DOMAIN.TLD gesetzt.

    Das Cookie mit dem weniger spezifischen Domain-Attribut wird offensichtlich dem spezifischeren vorgezogen,
    also .DOMAIN.TLD, welches nämlich auch auf alle Subdomains, also auch auf www.* wirkt.
    Selbst wenn man im Backend "Session erneuern" bei Login oder Registrierung auf 'Ja' stellt, was man aus Sicherheitsgründen ohnehin unbedingt tun sollte, hilft es nicht wenn man nicht vorher alle domain-bezogenen Cookies im Browser löscht, und zwar deshalb, weil man erst gar nicht zum Login kommt (Neu registrieren habe ich noch nicht getestet).

    Frage:
    Sollte man als Lösung, vielleicht in einer auto_include()-Datei in application_top_begin oder ~_end, evtl. vorhandene alte Cookies löschen ?

    Übrigens:
    Man kann sich auch im alten Shop nicht mehr einloggen wenn man den neuen zuerst aufgerufen hat, will sagen, wenn dessen Cookie zuerst gesetzt wurde.
    Den alten Shop einmal aufgerufen habend kann man sich im neuen nicht mehr einloggen, im alten jedoch durchaus.
    (Das kann man nur testen wenn man alten und neuen Shop paralell laufen hat, weil z.B. der neue Shop auf einer Subdomain als Testumgebung läuft.)

    Alles gilt natürlich immer für ein und denselben Browser.

    Daß das Ganze noch niemandem aufgefallen ist wundert mich ein wenig (oder ist es ?).
    (Mir ist es schon lange bekannt, es gab nur bislang keinen expliziten Anlass das anzusprechen und ich hatte es aus Zeitmangel bislang nicht tiefer verfolgt.)

    Es wäre gut wenn sich Experten, sowie allgemein Entwickler, als auch modified-Team-Mitglieder mit dem Thema beschäftigen und dazu Ihre Ansicht hier kundtun würden. Das ist ein schwerwiegendes Thema.

    Gruß,
    noRiddle

    Linkback: https://www.modified-shop.org/forum/index.php?topic=40084.0

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.000
    • Geschlecht:
    *NACHTRAG*
    Nach diesen Ausführungen

    If the regular user’s credentials were good, the authentication call would return a new token for .dev.example.com, containing the information for that user. This did not overwrite the token with the less specific Domain attribute, as described in RFC 6265, section 4.1.2.

    wird die weniger spezifische Domain-Attribut nicht durch das spezifischere überschrieben,
    wenngleich ich in dem zitierten RFC nicht entnehmen kann was der Autor schreibt.

    Gruß,
    noRiddle

    *EDIT*
    Weitere gute Ausführungen..., speziell unter der Überschrift
    "Malicious hosts under your domain"

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.000
    • Geschlecht:
    Ich habe dazu nun ein Ticket #1603 angelegt.

    Gruß,
    noRiddle

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.372
    • Geschlecht:
    Tststs jetzt fängst du auch noch an mit der Verallgemeinerung der Shopversionen 2.0.x ;-)

    Also das Problem sollte eigentlich und hoffentlich ein altes und in Shopversion 2.0.4.2 bereits behobenes sein, da dort die Cookies initial gelöscht werden sollten.

    Oder hattest du das Problem nach Update von 1.06 auf 2.0.4.2?

    Grüße

    Torsten

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 14.000
    • Geschlecht:
    Okay, ich wußte allerdings auch nicht, daß euch das Thema bereits bekannt ist (obwohl es mich gewundert hätte wenn nicht.) ;-)

    Jau, hatte ich von 1.06 auf 2.0.4.2.
    (Änderungen am Shop lediglich update-sichere Erweiterungen mittels auto_include().)

    Genauer:
    • Alter 1.06-Shop auf www.DOMAIN.TLD
      (dieses autom. Umwandeln in einen Link wenn SimpleMachines "www" sieht nervt)
      Domain-Attribut des Cookies: .DOMAIN.TLD
    • Test-Shop auf Subdomain test.DOMIAN.TLD
      Domain-Attribut des Cookies: .test.DOMAIN.TLD

    Die Cookies des alten Shops wurden nicht automatisch gelöscht.

    Aktuell habe ich's auch in zwei meiner Test-Shops.
    Ein Shop auf 1.06 SP1, ein Shop auf 2.0.4.2 (auf Subdomain).
    Sobald ich erstgenannten einmal geöffnet habe kann ich mich im zweitgenannten nicht mehr einloggen, bis ich die Cookies lösche.

    Man könnte meinen es läge an der Subdomain, aber "www" ist ja server-technisch auch nichts anderes als eine Subdomain.

    Wo werden die Cookies denn initial gelöscht?
    (Ich weiß, sollte eigtl. mittels xtc_get_top_level_domain() und in der application_top.php definiertem $current_domain_old in set_session_and_cookie_parameters.php stattfinden, scheint aber nicht zu klappen (nur bei mir ??).)

    Gruß,
    noRiddle
    Werbung / Banner buchen
    5 Antworten
    2250 Aufrufe
    19. Juli 2012, 13:46:20 von jannemann
    8 Antworten
    3224 Aufrufe
    22. Dezember 2016, 13:48:43 von kumpelmagnet
    13 Antworten
    8671 Aufrufe
    22. März 2010, 15:49:48 von vr
               
    anything