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