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: Problem mit Passwort zurücksetzen Link

    isarstyle

    • Neu im Forum
    • Beiträge: 6
    Problem mit Passwort zurücksetzen Link
    am: 29. August 2016, 19:54:35
    Hallo zusammen,
    nachdem ich leider durch Suche und das Handbuch nicht zu einer Lösung gefunden habe hier meine Frage:

    modified eCommerce Shopssoftware v2.0.0.0 rev 9678 dated: 2016-04-02
    Datenbank Version: "MOD_2.0.0.0"
    www.xdreamgifthouse.de

    Seit dem Update auf 2.00 funktioniert der Email reset nicht mehr, man gelangt nach klick auf den Aktivierungslink in der email wieder auf die password_double_opt Seite und wird erneut gefragt sich eine Email zuschicken zu lassen. Dieses kann man so oft machen wie man möchte, ohne auf die Seite zu kommen bei der man das Passwort neu vergeben kann.

    Der Angezeigte Fehler dabei ist immer "Der Link ist abgelaufen. Bitte fordern sie ein neues Passwort an."

    Hoffentlich hat jemand eine Idee, ich weiß leider nicht mehr weiter.

    Viele Grüße
    Friedrich

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

    p3e

    • Experte
    • Beiträge: 2.424
    Re: Problem mit Passwort zurücksetzen Link
    Antwort #1 am: 29. August 2016, 20:57:14
    So spontan würde ich als erstes Zeit/Datum über die php.ini vergleichen.

    isarstyle

    • Neu im Forum
    • Beiträge: 6
    Re: Problem mit Passwort zurücksetzen Link
    Antwort #2 am: 29. August 2016, 21:17:19
    Danke für die Antwort, Habe das mal überprüft, Zeitzone ist konfiguriert, oder gibt es da etwas das ich übersehen habe? PHP Version ist:   5.4.16 (Zend: 2.4.0)
    Zitat
    date
    date/time support   enabled
    "Olson" Timezone Database Version   0.system
    Timezone Database   internal
    Default timezone   Europe/Berlin

    p3e

    • Experte
    • Beiträge: 2.424
    Re: Problem mit Passwort zurücksetzen Link
    Antwort #3 am: 29. August 2016, 21:43:50
    Unter Server Info findest du ganz oben einmal das Server Datum und dann noch das  Datenbank Datum.

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Problem mit Passwort zurücksetzen Link
    Antwort #4 am: 29. August 2016, 21:45:31
    Hallo Friedrich

    Eine Idee, suche in 'password_double_opt.php' ab Zeile 135 folgenden Code

    Code: PHP  [Auswählen]
      if (!xtc_db_num_rows($check_customer_query) || $key == '') {
        $case = 'no_account';
        $messageStack->add('password_double_opt_in', TEXT_NO_ACCOUNT);
      } elseif (time() > (strtotime($check_customer['password_request_time']) + VALID_REQUEST_TIME)) {
        $case = 'double_opt';
        $messageStack->add('password_double_opt_in', TEXT_REQUEST_NOT_VALID);
      } else {
     

    und ersetze ihn mit diesem

    Code: PHP  [Auswählen]
      $time_query = xtc_db_query("SELECT unix_timestamp(now()) as timestamp");
      $tq = xtc_db_fetch_array($time_query);  
      if (!xtc_db_num_rows($check_customer_query) || $key == '') {
        $case = 'no_account';
        $messageStack->add('password_double_opt_in', TEXT_NO_ACCOUNT);
      } elseif ($tq['timestamp'] > (strtotime($check_customer['password_request_time']) + VALID_REQUEST_TIME)) {
        $case = 'double_opt';
        $messageStack->add('password_double_opt_in', TEXT_REQUEST_NOT_VALID);
      } else {
     

    wenn dann der Fehler nicht mehr auftritt, vergleiche im Admin unter Hilfsprogramme -> Server Info das Server Datum mit dem Datenbank Datum.

    Gruss
    Hanspeter

    isarstyle

    • Neu im Forum
    • Beiträge: 6
    Re: Problem mit Passwort zurücksetzen Link
    Antwort #5 am: 29. August 2016, 21:58:53
    Vielen Dank, ich habe das Problem gefunden.
    der Mysql server hatte die falsche Zeitzone definiert, jetzt ist php sowie mysql auf die selbe Zeit eingestellt und alles funktioniert wie es sollte.

    Für diejenigen die mit einem 1und1 Cloud Server das selbe Problem haben, hier eine kurze liste der Schritte.

    1. Php.ini : --> date.timezone=Europe/Berlin
    2. mysql befehl um die Zeitzonen auf dem Server hinzuzufügen :
    Code: SQL  [Auswählen]
    shell> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql
    3. mysql Konfigurationsdatei: my.cnf --> default-time-zone='Europe/Berlin'

    Vielen Dank für die Hilfe.

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Problem mit Passwort zurücksetzen Link
    Antwort #6 am: 30. August 2016, 11:11:23
    Server Datum und Datenbank Datum sollten natürlich synchron sein, verlassen kann man sich darauf aber nicht. Da nicht jeder Shopbetreiber die Möglichkeit hat gegebenenfalls das Server Datum mit dem Datenbank Datum selbst zu synchronisieren, weil ihm z.B. die nötigen Rechte fehlen, sollte meiner Meinung nach das Shopsystem selbst mögliche Fehler welche durch nicht synchrone Datumsangaben entstehen könnten dort wo es möglich ist verhindern.
    Im konkreten Fall bedeute dies z.B. das die 'password_request_time' welche mit DB-'now()' erstellt wurde auch mit DB-'now()' und nicht mit PHP-'time()' zu prüfen ist.

    Auch hier ist das Problem gegeben -> Nach Update auf Version 2.0 Bestellprozess-Problem (keine checkout_success.php)

    PS:
    Obige Problemmeldungen finde ich erst in der Shopversion 2.0 in älteren Versionen nicht.

    Gruss
    Hanspeter

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Problem mit Passwort zurücksetzen Link
    Antwort #7 am: 31. August 2016, 11:33:29
    Ticket dafür? Es handelt sich um einen Bug, wenn beim Schreiben die Zeit mysql kommt und beim Lesen von PHP ...

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: Problem mit Passwort zurücksetzen Link
    Antwort #8 am: 31. August 2016, 12:18:16

    Susanne

    • Neu im Forum
    • Beiträge: 1
    Re: Problem mit Passwort zurücksetzen Link
    Antwort #9 am: 18. April 2017, 11:03:53
    Mein Problem war ebenfalls die Falsche Zeit in meiner Datenbank!
    Meine Shopversion: modified-shop_2.0.2.2

    Ich habe den SQL-Befehl now() einfach mit PHP date() ersetzt!
    Dies erscheint mir dir sinnvollste lösung da der Zeitstempel unten ja auch wieder per PHP mit der Systemzeit verglichen wird!

    In: password_double_opt.php

    suchen nach:

    Code: PHP  [Auswählen]
          xtc_db_query("UPDATE ".TABLE_CUSTOMERS."
                           SET password_request_key = '"
    .xtc_db_input($vlcode)."',
                               password_request_time = now()
                         WHERE customers_id = '"
    .$check_customer['customers_id']."'");

    ersetzen mit:

    Code: PHP  [Auswählen]
          xtc_db_query("UPDATE ".TABLE_CUSTOMERS."
                           SET password_request_key = '"
    .xtc_db_input($vlcode)."',
                               password_request_time = '"
    .date('Y-m-d H:i:00')."'
                         WHERE customers_id = '"
    .$check_customer['customers_id']."'");

    hpzeller

    • Experte
    • Beiträge: 4.129
    • Geschlecht:
    Re: Problem mit Passwort zurücksetzen Link
    Antwort #10 am: 19. April 2017, 11:45:24
    Hallo Susanne, danke für deine Lösung.

    Gruss
    Hanspeter

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: Problem mit Passwort zurücksetzen Link
    Antwort #11 am: 27. September 2018, 21:53:34
    Mein Problem war ebenfalls die Falsche Zeit in meiner Datenbank!
    Meine Shopversion: modified-shop_2.0.2.2

    Ich habe den SQL-Befehl now() einfach mit PHP date() ersetzt!
    Dies erscheint mir dir sinnvollste lösung da der Zeitstempel unten ja auch wieder per PHP mit der Systemzeit verglichen wird!

    In: password_double_opt.php

    suchen nach:

    Code: PHP  [Auswählen]
          xtc_db_query("UPDATE ".TABLE_CUSTOMERS."
                           SET password_request_key = '"
    .xtc_db_input($vlcode)."',
                               password_request_time = now()
                         WHERE customers_id = '"
    .$check_customer['customers_id']."'");

    ersetzen mit:

    Code: PHP  [Auswählen]
          xtc_db_query("UPDATE ".TABLE_CUSTOMERS."
                           SET password_request_key = '"
    .xtc_db_input($vlcode)."',
                               password_request_time = '"
    .date('Y-m-d H:i:00')."'
                         WHERE customers_id = '"
    .$check_customer['customers_id']."'");

    Das wurde bereits in Ticket #1172 festgehalten und in r10753 korrigiert und ist somit ab Shopversion 2.0.3.0 rev 10907 enthalten.

    Grüße

    Torsten
    1 Antworten
    1211 Aufrufe
    29. Dezember 2019, 10:52:59 von Timm
    5 Antworten
    2374 Aufrufe
    07. Juli 2017, 11:28:03 von FS72
    1 Antworten
    2342 Aufrufe
    20. März 2012, 06:18:12 von GTB
               
    anything