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: Secure flag für MODsid Cookie nach ausloggen dauerhaft weg

    Timm

    • Fördermitglied
    • Beiträge: 6.342
    Moin,

    ich hab festgestellt, dass bei einem SSL verschlüsselten Shop die MODsid im Normalfall ein HttpOnly und Secure Flag besitzt. Egal ob man ohne Login auf der Seite surft, eingeloggt ist oder sich ein und wieder ausloggt und dann weiter surft.

    In meinem Shop ist es aber so, dass das Secure Flag nach dem ausloggen verschwindet. Und dann auch nicht wieder kommt beim weiteren surfen auf der Seite oder erneutem einloggen usw. Erst nach dem löschen der Cookies im Browser wird wieder eine neue MODsid vergeben und beide Flags sind gesetzt. Aber dann auch wieder nur bis zum ausloggen.

    Auch die Funktion "Session erneuern" im Backend behebt dieses Problem nicht. Sobald man sich ausloggt ist die Secure Flag wieder weg und kommt auch bei der neu erstellten MODsid nicht zurück.

    Im Demoshop funktioniert es scheinbar immer. Bei einigen anderen Modifiedshops konnte ich aber auch dieses vermeintliche Fehlverhalten beobachten.

    Wenn ich das richtig gelesen habe, dann sollte der Cookie diese Secure Flag haben, weil man sich sonst das ganze SSL sparen könnte. Muss zugeben, dass ich das genaue technische dahinter nicht verstanden habe.

    Woran könnte das liegen und wo müsste man suchen?

    Gruß Timm

    Linkback: https://www.modified-shop.org/forum/index.php?topic=40337.0
    Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware

    Timm

    • Fördermitglied
    • Beiträge: 6.342
    Würde das gerne nochmal hochholen. Jemand eine Idee?

    Gruß Timm

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.220
    • Geschlecht:
    Deine Testumgebung läuft auf PHP 7.3
    Die Version 2.0.4.2 ist nicht dafür freigegeben.

    Gruss Gerhard

    Timm

    • Fördermitglied
    • Beiträge: 6.342
    Ist wieder zurück auf PHP 7.1.30 gestellt - war nur aus Testzwecken so wegen eines anderen Fehlers bzgl nginx und dynamische Bildernamen.

    PHP Version ist aber nicht das Problem, da es in den beiden aktiven Shops unter PHP 7.1.30 auch nicht funktioniert. Und ich meinte natürlich die aktiven Shops, da ich bei einem auf offline gestellten Testshop vermutlich keine Hilfe erwarten kann.

    Gruß Timm

    Nachtrag:
    Im offline gestellten Testshop tritt der Fehler übrigens nicht auf nach dem Logout, wo er die Shop offline Seite anzeigt. Stellt  man den Shop auf online und loggt sich aus, dann fehlt wieder die secure flag der modsid.

    GTB

    • modified Team
    • Gravatar
    • Beiträge: 6.220
    • Geschlecht:
    So lange du das bei uns im Demoshop nicht nachstellen kannst, muss ich davon ausgehen dass es ein individueller Fehler bei dir im Shop ist.

    Als erstes würde ich mal alle Warning Logs lösen und beseitigen.

    Gruss Gerhard

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.731
    • Geschlecht:
    Ich kann das geschilderte Problem weder im modified-Demo-Shop noch in meinem eigenen Demo-Shop (2.0.4.2) nachstellen.
    Weder mit der Einstellung "Session erneuern" auf 'Ja' noch auf 'Nein'.

    Vielleicht verguckst du dich, FräuleinGarn ?
    Wenn das Cookie vorübergehend nicht gesetzt bzw. gelöscht ist bei Einstellung des o.g. Wertes auf 'Ja' und direkt nach dem Ausloggen, springt die Anzeige im Browser-Tool auf ein anderes Cookie, wenn vorhanden, da kann man sich schnell mal vergucken.
    Wie schaust du das denn nach ?
    Im Firefox-Tool sieht es z.B. so aus bei mir:
    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Gruß,
    noRiddle

    Timm

    • Fördermitglied
    • Beiträge: 6.342
    @noRiddle
    Danke. Ich hatte ja im Eingangspost bereits geschrieben, dass es im Demoshop funktioniert. Das Problem tritt nur bei mir auf.

    Was ich noch vergaß zu erwähnen, dass es sich um einen nginx frontend proxy handelt mit Apache im Hintergrund, falls das wichtig sein könnte.

    Und nein ich hab mich nicht verguckt. Du solltest doch wissen, dass ich sowas extrem lange vorher prüfe, bevor ich hier schreibe.

    In Safari sieht es nach dem Logout und dann auch beim weiteren klicken im shop so aus:
    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Erst ein löschen der cookies setzt das wieder auf secure.

    In Firefox sieht es eingeloggt so aus:

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    und nach dem ausloggen so:

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Und wie eingangs erwähnt bleibt bei angeschalteter Funktion "Session erneuern" auf ja, auch die neue MODsid unsecure. In anderen Shops hab ich gesehen, dass die alte MODsid dann unsecure wird bevor sie nach weiteren Klicks verschwindet und die neue beide flags für secure und HttpOnly hat.

    Gruß Timm

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.731
    • Geschlecht:
    Mmmh, dann dürfte es da Probleme mit den Einstellungen des nginx geben.
    Habe ich keinen Plan von.

    Evtl. hilft das weiter:
    https://geekflare.com/httponly-secure-cookie-nginx/
    Bei "By using proxy_cookie_path" schauen.

    Gruß,
    noRiddle

    Timm

    • Fördermitglied
    • Beiträge: 6.342
    nginx allgemein kann ich ausschließen, weil wie auf dem ersten Bild zu sehen es einen weiteren Cookie gibt, wo das nicht auftritt und ich noch einen nackten Testshop auf dem gleichen Server und dessen Einstellungen auf einer anderen Domain installiert habe und da funktionierts.

    Mit Session erneuern auf ja klappt es nun doch. Allerdings läuft das nicht so ganz wie im Demoshop. Erst beim wieder einloggen wird die neue MODsid secure. Im Demoshop schon beim nächsten Klick nach dem Logout.

    Ich hab nun alle Zusatzmodule testweise deinstalliert ohne Änderung. Module scheinen also auch keine Auswirkung zu haben es sein denn irgendwelche Autoincludedateien verursachen das.

    Werde mal die Server_info der beiden Shops vergleichen.

    Danach werde ich mal die DB des nackten Testshop im anderen Testshop einfügen und gucken ob es sich dann ändert und wenn ja die Unterschiede der DB vergleichen. Vielleicht ist da bei einem Update mal was schiefgegangen. Der Demoshop ist ja eine Neuinstallation.

    Danach werde ich eine nackte 2.0.4.2 runterladen und das Paket gegen meinen Testshop vergleichen. Vielleicht haben irgendwelche Dateien einen Fehler.

    Sinnvolle Vorgehensweise?

    Gruß Timm

    Timm

    • Fördermitglied
    • Beiträge: 6.342
    Mit einer DB aus einem nackten 2.0.4.2 Shop funktioniert es sofort (auch wenn ich dann auf mein responsive template umstelle). Alte DB zurück und es klappt nicht mehr.

    Dann muss da irgendwo der Fehler sein und ich kann falsche Dateien, fehlerhafte autoincludes und Template ausschließen, oder?

    Wo sollte ich am besten gucken? Weil wird sonst langwierig, weil ich immer nur eine DB in phpmyadmin im Browser öffnen kann und die Inhalte nicht in zwei Fenstern vergleichen kann.

    Gruß Timm

    p3e

    • Experte
    • Beiträge: 2.395
    Re: Secure flag für MODsid Cookie nach ausloggen dauerhaft weg
    Antwort #10 am: 15. Juli 2019, 21:57:38
    Ich kenne kein Programm um Datenbanken zu vergleichen. Ich habe in einem ähnlichen Fall mal WinMerge "missbraucht". (Bei mir ging es damals aber nur um die Konfigurationsdaten.)
    Zum Vergleichen ein Backup von beiden Datenbanken anlegen und die Dateien mit WinMerge (oder Ähnlichem) vergleichen.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.731
    • Geschlecht:
    Re: Secure flag für MODsid Cookie nach ausloggen dauerhaft weg
    Antwort #11 am: 15. Juli 2019, 22:08:19
    Eigtl. sollte es lediglich einmal im Shop diese Zeile (oder eine ähnliche) geben:
    Code: PHP  [Auswählen]
    set_session_cookie(0, DIR_WS_CATALOG, (xtc_not_null($current_domain) ? '.'.$current_domain : ''), ((HTTP_SERVER == HTTPS_SERVER && $request_type == 'SSL') ? true : false), true);
    und diese Zeile steht in /includes/modules/set_session_and_cookie_parameters.php und setzt $secure und $httponly auf true - erstgenanntes nur wenn der komplette Shop auf SSL läuft.

    Du kannst höchstens mal die Dateien durchsuchen ob irgendwo anders set_session_cookie() oder session_set_cookie_params() benutzt werden oder gar ini_set('session.cookie_secure', ....

    Auch kannst du mal schauen ob die /includes/request_type.php dem Original entspricht.

    Gruß,
    noRiddle

    Timm

    • Fördermitglied
    • Beiträge: 6.342
    Re: Secure flag für MODsid Cookie nach ausloggen dauerhaft weg
    Antwort #12 am: 15. Juli 2019, 22:15:53
    @p3e
    genau darauf bin ich auch gekommen  :-D

    @all
    hab aber nichts grob unterschiedliches gefunden, wenn ich nach cookie und Session durchsuche

    einziger grober Unterschied ist, dass fast alle Tabellen in meiner aktuellen Test DB als ENGINE MyISAM haben und die nackte DB ENGINE=InnoDB

    @noRiddle
    guck ich gleich mal

    Danke Euch

    Timm

    • Fördermitglied
    • Beiträge: 6.342
    Re: Secure flag für MODsid Cookie nach ausloggen dauerhaft weg
    Antwort #13 am: 15. Juli 2019, 22:38:34
    @noRiddle
    /includes/modules/set_session_and_cookie_parameters.php
    /includes/request_type.php

    sind in beiden Testshops gleich

    ini_set('session.cookie..... gibts nicht

    session_set_cookie_params() gibts nur in inc/set_session_cookie.inc.php  - ist aber auch bei beiden gleich

    set_session_cookie() gibts nur in
    /includes/modules/set_session_and_cookie_parameters.php
    inc/set_session_cookie.inc.php
    aber die sind ja beide gleich

    bleibt wohl nur der komplette Dateivergleich.

    Gruß Timm

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.731
    • Geschlecht:
    Re: Secure flag für MODsid Cookie nach ausloggen dauerhaft weg
    Antwort #14 am: 15. Juli 2019, 22:56:32
    ...
    ini_set('session.cookie..... gibts nicht
    ...

    Das kann/sollte nicht sein. Gibt's in /inc/set_session_cookie.inc.php.

    Leere doch mal die DB-Tabelle sessions in dem Shop wo das Problem ist.
    Damit wirfst du zwar eventuell sich auf dem Shop befindliche Personen aus der Session und somit evtl. einem Eingeloggt-Sein aber das kannst du ja mal spät abends machen, ist ja nur einmalig.
    Dann nochmal schauen.

    Irgendwie glaube ich allerdings doch noch an ein Server-Konfiguration-Problem.
    Die Session-Einstellungen im Backend sollten bei deinen Vergleichen exakt gleich sein, also auch z.B. "Cookie Benutzung bevorzugen", aber darauf achtest du ja bestimmt schon.

    Gruß,
    noRiddle
    19 Antworten
    10997 Aufrufe
    19. Juli 2016, 14:29:53 von Bonsai
    4 Antworten
    4617 Aufrufe
    04. Mai 2012, 11:50:10 von Matt
    5 Antworten
    3675 Aufrufe
    04. September 2009, 18:27:28 von Tomcraft
    2 Antworten
    2751 Aufrufe
    03. Juli 2009, 08:48:14 von nordseh