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: FEHLER: Session wird bei jedem Link-Klick neu gesetzt!

    ptmtimmy

    • Neu im Forum
    • Beiträge: 1
    • Geschlecht:
    Hallo Community,

    folgendes Problem ist bei mir nun aufgetreten:

    Für meinen Onlineshop habe ich ein Mobiles Template entwickelt. Dies wurde auf einem Testsystem umgesetzt. Am Freitag habe ich dann das Mobile Template (und alle dazugehörigen Klassenänderungen) ins Live Entwicklungssystem gespielt (aktuellere Änderungen und Datenbank). Dies lief am Freitag auch ohne Probleme. Ich konnte munter durch den Shop mich klicken, Produkte in den Warenkorb legen und bestellen.

    Heute trat dann der Fehler auf, dass ich mich weder anmelden (sowohl Kunden als auch Admin Login), noch Produkte in den Warenkorb legen kann.
    Der Grund ist, dass die SessionID sich bei jedem klick auf einen Link/Button neu setzt, so als wäre ich zum ersten mal im Shop.

    Das ist nun war kurios da ich nichts an den SessionIDs geändert habe, nunja. Ich habe also mal das Internet durchforstet und bin auch auf mehrere Einträge gestoßen. Keiner dieser Einträge konnte mir helfen da ich diese schon umgesetzt waren:

    - define('STORE_SESSIONS', 'mysql'); ist so in der configure.php eingetragen
    - In der Tabelle "configuration" sind alle Werte mit dem Key "session" aus false gesetzt (sofern machbar)
    - Der Ordner \tmp existiert und hat die erforderlichen Berechtigungen
    - Cookie Storage ausgeschaltet und mehrfach alle Cookies gelöscht!
    - in der htaccess die Sachen mit der session eingestellt
    - und viele weitere möglichkeiten.

    Gut, da ich nun so langsam am verzweifeln war, habe ich einfach mal kurzum den Live Shop (hier funktioniert alles einwandfrei) kopiert, und wieder in das Live Entwicklungssystem eingespielt.
    Immer noch nichts. Weiterhin das SessionID Problem.

    Also mal die Live Entwicklungsdatenbank durch die Live Datenbank ausgetauscht. (Hätte ja sein können dass irgendwo ein paar SessionIDs doof gespeichert wurden sind).
    Und auch hier kein Ergebnis.

    Und nun fang ich an langsam zu verzweifeln. Der Live Entwicklungs Shop ist nun sozusagen der Live Shop (nur andere Domain, aber die Punkte habe ich alle geändert) und trotzdem besteht der Fehler mit der SessionID.

    Hat jemand schonmal etwas ähnliches erlebt? Es kann ja nicht sein dass eine 1:1 Kopie eines Systems funktionieren Systems nicht läuft.

    Zum System:

    modified eCommerce Shopssoftware v1.06 rev 4642 dated: 2013-04-20
    Datenbank Version: "MOD_1.0.6.0"
    // Ja, ich könnte die mal Updaten. Ja, ich bezweifele sehr stark das es daran liegt.
    // Live funktioniert ja, Live Entwicklung nicht.

    Für Tips und Hinweise wäre ich sehr dankbar!

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

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: FEHLER: Session wird bei jedem Link-Klick neu gesetzt!
    Antwort #1 am: 16. Dezember 2015, 17:12:34
    Wie lautet die TLD ?
    Oder benutzt du einen SSL-Proxy und hast den kompletten Shop auf SSL laufen ?
    Bei Doppel-TLDs, wie z.B. .co.uk oder .co.at und bei SSL-Proxies gibt es das von dir beschriebene Problem.

    Wen dem so ist melde dich nochmal, ich hätte dann zumindest für das Problem Doppel-TLD eine Lösung.

    Gruß,
    noRiddle

    saku70

    • Frisch an Board
    • Beiträge: 55
    • Geschlecht:
    Re: FEHLER: Session wird bei jedem Link-Klick neu gesetzt!
    Antwort #2 am: 27. Mai 2016, 14:38:39
    Zitat
    Bei Doppel-TLDs, wie z.B. .co.uk oder .co.at und bei SSL-Proxies gibt es das von dir beschriebene Problem.

    Wen dem so ist melde dich nochmal, ich hätte dann zumindest für das Problem Doppel-TLD eine Lösung.

    Ich habe genau dieses Problem! (co.uk)

    Kannst Du mir helfen, bitte?!?

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: FEHLER: Session wird bei jedem Link-Klick neu gesetzt!
    Antwort #3 am: 27. Mai 2016, 14:56:33
    Klick auf sein Häuschen und schicke ihm eine Mail, dann hilft er Dir sicher gerne.

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: FEHLER: Session wird bei jedem Link-Klick neu gesetzt!
    Antwort #4 am: 27. Mai 2016, 16:36:17
    Welches Problem hast du denn genau, saku70 ?
    • nur mit der Doppel-TLD (*.co.uk)
    • mit der Doppel-TLD (*.co.uk) und mit SSL-Proxy

    Und welche modified-Shop-Version benutzt du ?

    Gruß,
    noRiddle

    saku70

    • Frisch an Board
    • Beiträge: 55
    • Geschlecht:
    Re: FEHLER: Session wird bei jedem Link-Klick neu gesetzt!
    Antwort #5 am: 27. Mai 2016, 18:15:00
    Geht (noch) nur um die 1.06 SP4, aber ich befürchte, dass dann bei der 2.0 dasselbe Problem bestehen wird, wenn Du schon so fragst... ;)

    Nur Doppel-TLD ohne SSL

    Vielen Dank schon hier für deine schnelle Reaktion!

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: FEHLER: Session wird bei jedem Link-Klick neu gesetzt!
    Antwort #6 am: 27. Mai 2016, 19:43:26
    Dann gehe mal in die /inc/xtc_get_top_level_domain.inc.php und mache aus diesem Code
    Code: PHP  [Auswählen]
    function xtc_get_top_level_domain($url) {
            if (strpos($url, '://')) {
                    $url = parse_url($url);
                    $url = $url['host'];
            }
            $domain_array = explode('.', $url);
            $domain_size = sizeof($domain_array);
            if ($domain_size > 1) {
                    if (is_numeric($domain_array[$domain_size -2]) && is_numeric($domain_array[$domain_size -1])) {
                            return false;
                    } else {
        //BOF - Dokuman - 2009-09-16 - Fix forced session-ID due to not correctly determined TLD
          /*
                            for ($domain_part = 1; $domain_part < $domain_size; $domain_part++) {
                                    $domain_path .= $domain_array[$domain_part];
                                    if ($domain_part != ($domain_size -1))
                                            $domain_path .= '.';
                            }
                            return $domain_path;
          */

                            return $domain_array[$domain_size - 2] . '.' . $domain_array[$domain_size - 1];
        //EOF - Dokuman - 2009-09-16 - Fix forced session-ID due to not correctly determined TLD
                    }
            } else {
                    return false;
            }
    }

    das (vorher Datei sichern)
    Code: PHP  [Auswählen]
    function xtc_get_top_level_domain_nr($url) {
        if (strpos($url, '://')) {
            $url = parse_url($url);
            $url = $url['host'];
        }
        $domain_array = explode('.', $url);
        $domain_size = sizeof($domain_array);
        if ($domain_size > 1) {
            if (is_numeric($domain_array[$domain_size -2]) && is_numeric($domain_array[$domain_size -1])) {
                return false;
            } else {
                return $url;
            }
        } else {
            return false;
        }
    }

    Danach Browser-Cache löschen, Cookie deines Shops löschen und testen.

    Gruß,
    noRiddle

    saku70

    • Frisch an Board
    • Beiträge: 55
    • Geschlecht:
    Re: FEHLER: Session wird bei jedem Link-Klick neu gesetzt!
    Antwort #7 am: 30. Mai 2016, 11:20:44
    Ergebnis: Fehlermeldung :(

    Zitat
    Fatal error: Call to undefined function xtc_get_top_level_domain() in /var/www/vhosts/xxxx/xxxx/includes/application_top.php on line 246

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: FEHLER: Session wird bei jedem Link-Klick neu gesetzt!
    Antwort #8 am: 30. Mai 2016, 15:06:29
    Jau, sorry, mein Fehler, kommt von Copy & Paste  :doh:.

    Im Funktionsnamen der Datei /inc/xtc_get_top_level_domain.inc.php habe ich in meiner Code-Änderung versehentlich geschrieben
    Code: PHP  [Auswählen]
    function xtc_get_top_level_domain_nr($url) {
    Es muß natürlich lauten
    Code: PHP  [Auswählen]
    function xtc_get_top_level_domain($url) {

    Das heißt, das _nr am Ende des Funktionsnamens muß weg.

    Gruß,
    noRiddle

    web28

    • modified Team
    • Beiträge: 9.404
    Re: FEHLER: Session wird bei jedem Link-Klick neu gesetzt!
    Antwort #9 am: 30. Mai 2016, 15:14:52
    Nur als Hinweis: In 2.00 gibt es das Problem mit Doppel TLS und/oder ;-) SSL nicht mehr!

    saku70

    • Frisch an Board
    • Beiträge: 55
    • Geschlecht:
    Re: FEHLER: Session wird bei jedem Link-Klick neu gesetzt!
    Antwort #10 am: 30. Mai 2016, 15:22:05
    Ha, es funktioniert!!!

    Vielen Dank!!!!!

    Ich bleibe derzeit (bie diesem Projekt) noch bei der 1.06, da es ein Klon zu einem bestehenden deutschen Shop werden soll.

    Wenn, dann werde ich beide zusammen auf die 2.0 umstellen.
    2 Antworten
    2640 Aufrufe
    15. April 2012, 18:00:55 von hendrik
    6 Antworten
    4165 Aufrufe
    28. Juni 2013, 16:04:52 von PregLiz
    9 Antworten
    3020 Aufrufe
    09. Februar 2016, 17:02:46 von Bonsai