Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:

Autor Thema: Sicherheitspatch für alle Shopversionen (security_fix_2014_12_17.zip)  (Gelesen 51271 mal)

Offline h-h-h

  • modified Team
  • *****
  • Beiträge: 4.564
    • Teile Beitrag
Re: Sicherheitspatch für alle Shopversionen (security_fix_2014_12_17.zip)
« Antwort #30 am: 18. Dezember 2014, 21:11:07 »
@h-h-h
Mhh, mit dem Nachteil, daß viele Code-Stellen geändert werden müssten, denn die Session-Variable um die es hier ging heißt ja nun $_SESSION['customers_status']['customers_status_id'] und hieße dann $_SESSION['customers_status']['customers_status'].

Naja, so ähnlich wird es in der nächsten Version schon gemacht, ging mir eigentlich nur um die gesparte Abfrage.

Code: PHP  [Auswählen]
  if (isset($_SESSION['customer_id'])) {
    $customers_status_query_1 = xtc_db_query("SELECT customers_status
                                                FROM "
. TABLE_CUSTOMERS . "
                                               WHERE customers_id = '"
. $_SESSION['customer_id'] . "'");

    if (xtc_db_num_rows($customers_status_query_1) == 1) {
      $customers_status_value_1 = xtc_db_fetch_array($customers_status_query_1);

      $customers_status_query = xtc_db_query("SELECT *
                                                FROM "
. TABLE_CUSTOMERS_STATUS . "
                                               WHERE customers_status_id = '"
. $customers_status_value_1['customers_status'] . "'
                                                 AND language_id = '"
. $_SESSION['languages_id'] . "'");

      $_SESSION['customers_status'] = xtc_db_fetch_array($customers_status_query);

      if ($customers_status_value_1['customers_status'] == '0' && !defined('RUN_MODE_ADMIN')) {
        $_SESSION['customers_status']['customers_status_id'] = DEFAULT_CUSTOMERS_STATUS_ID_ADMIN;
        $_SESSION['customers_status']['customers_status'] = $customers_status_value_1['customers_status'];
      } else {
        $_SESSION['customers_status']['customers_status_id'] = $customers_status_value_1['customers_status'];
        $_SESSION['customers_status']['customers_status'] = $customers_status_value_1['customers_status'];
      }
    } else {
      unset($_SESSION['customer_id']);
      xtc_redirect(xtc_href_link(FILENAME_LOGOFF, '', 'SSL'));
    }
  } else {
    $customers_status_query = xtc_db_query("SELECT *
                                              FROM "
. TABLE_CUSTOMERS_STATUS . "
                                             WHERE customers_status_id = '"
. DEFAULT_CUSTOMERS_STATUS_ID_GUEST . "'
                                               AND language_id = '"
. $_SESSION['languages_id'] . "'");

    $_SESSION['customers_status'] = xtc_db_fetch_array($customers_status_query);
    $_SESSION['customers_status']['customers_status_id'] = DEFAULT_CUSTOMERS_STATUS_ID_GUEST;
    $_SESSION['customers_status']['customers_status'] = DEFAULT_CUSTOMERS_STATUS_ID_GUEST;
  }


EDIT:

Somit könnte dies hier die beste Version sein (danke pl1, für die Idee):

Code: PHP  [Auswählen]
     if (isset($_SESSION['customer_id'])) {
        $customers_status_query = xtc_db_query("
         SELECT c.customers_status, cs.*
           FROM "
. TABLE_CUSTOMERS . " c
           JOIN "
. TABLE_CUSTOMERS_STATUS . " cs
             ON cs.customers_status_id = c.customers_status
          WHERE customers_id = "
. $_SESSION['customer_id'] . "
            AND cs.language_id = "
. $_SESSION['languages_id']);
        if (xtc_db_num_rows($customers_status_query)) {
          $_SESSION['customers_status'] = xtc_db_fetch_array($customers_status_query);
          if ($customers_status_query['customers_status'] == '0' && !defined('RUN_MODE_ADMIN')) {
            $_SESSION['customers_status']['customers_status_id'] = DEFAULT_CUSTOMERS_STATUS_ID_ADMIN;
          }
        } else {
          unset($_SESSION['customer_id']);
          xtc_redirect(xtc_href_link(FILENAME_LOGOFF, '', 'SSL'));
        }
      } else {
        $customers_status_query = xtc_db_query("
         SELECT *, customers_status_id as customers_status
           FROM "
. TABLE_CUSTOMERS_STATUS . "
          WHERE customers_status_id = "
. DEFAULT_CUSTOMERS_STATUS_ID_GUEST . "
            AND language_id = "
. $_SESSION['languages_id']);
        $_SESSION['customers_status'] = xtc_db_fetch_array($customers_status_query);
      }
    ?>

Gruß, h-h-h

Offline Archetim

  • Mitglied
  • ***
  • Beiträge: 133
    • Teile Beitrag
Re: Sicherheitspatch für alle Shopversionen (security_fix_2014_12_17.zip)
« Antwort #31 am: 21. Dezember 2014, 06:06:43 »
Danke für die Info auch von uns.

Grüße
Rene

Offline piru

  • Fördermitglied
  • *****
  • Beiträge: 1.263
  • Geschlecht: Weiblich
    • Teile Beitrag
Re: Sicherheitspatch für alle Shopversionen (security_fix_2014_12_17.zip)
« Antwort #32 am: 22. Dezember 2014, 09:12:15 »
:thx:

Offline Buggyboy

  • Fördermitglied
  • *****
  • Beiträge: 917
  • Geschlecht: Männlich
    • Teile Beitrag
    • Spiel-Zeit-Shop
Re: Sicherheitspatch für alle Shopversionen (security_fix_2014_12_17.zip)
« Antwort #33 am: 22. Dezember 2014, 13:10:26 »
Moin!

Auch von mir, vielen Dank für das Bereitstellen des Patches.

Weihnachtliche Grüße
Peter

Offline kaisa

  • Schreiberling
  • ****
  • Beiträge: 360
    • Teile Beitrag
Re: Sicherheitspatch für alle Shopversionen (security_fix_2014_12_17.zip)
« Antwort #34 am: 25. Dezember 2014, 13:00:56 »
Patch hätte ich mir schenken können, da ich Kundengruppen aktiv habe. Nun ja. Drin ist drin.

Ich beschränke mich lieber auf offizielle Patches, denn ich kann den Diskussionen nicht folgen, was denn nun sinnvoll/richtig/funktionierend ist. Sonst baue ich etwas ein und n paar Stunden später wird das revidiert.

Danke und n paar schöne Feiertage.

Offline noRiddle

  • Experte
  • *****
  • Beiträge: 9.989
  • Geschlecht: Männlich
    • Teile Beitrag
    • Webdesign Bonn - Köln
Re: Sicherheitspatch für alle Shopversionen (security_fix_2014_12_17.zip)
« Antwort #35 am: 26. Dezember 2014, 12:34:29 »
Hättest du dir nicht schenken können, denn 1. kann es ja mal sein, daß du irgendwann doch keine Kundengruppen mehr aktiviert hast und bis dahin vergessen hast was hier das Thema ist und 2. kommt anstelle der Sichtbarkeit der Admin-Box eine MySql-Fehlermeldung wenn du Kundengruppen aktiviert hast und jemand die Lücke ausnutzen möchte.

Der Diskussion hier mußt du ja auch nicht folgen, der Patch in Post 1 ist ja offiziell, was also ist das Problem ?

Gruß,
noRiddle

Offline fishnet

  • Fördermitglied
  • *****
  • Beiträge: 4.641
  • Geschlecht: Männlich
    • Teile Beitrag
    • Fishnet Services
Re: Sicherheitspatch für alle Shopversionen (security_fix_2014_12_17.zip)
« Antwort #36 am: 12. Januar 2015, 12:56:09 »
Auch nach vier Wochen ist der Sicherheitspatch im Download nicht enthalten.
Manchmal tun mir die Händler, die sich das selbst herunterladen, echt leid  :crazy:

Offline Jami

  • Neu im Forum
  • *
  • Beiträge: 19
  • Geschlecht: Männlich
    • Teile Beitrag
Hallo,

ich habe mir einige Threads durchgelesen, unter Anderem auch diesen hier.
Den Patch/Fix/wie auch immer man das nennen mag habe ich umgesetzt.

Ich habe allerdings weiterhin folgendes Problem (vermischte Bestellungen): Vermischte Bestellungen [kritisch] was ich mittlerweile auf den hier beschriebenen Fehler zurückführe.

Warum ich hier rein schreibe: Ich habe keine Möglichkeit zu testen ob dieser Fehler behoben wurde, da wir diesen als kritisch ansehen (Kunden erhalten Daten von anderen Kunden) wäre ich sehr dankbar über eine Antwort wie sich eben diese Problematik testen lässt. Wenn nicht öffentlich dann wäre ich auch über eine persönliche Nachricht sehr sehr dankbar.

Ich verzweifle langsam an diesem mysteriösen Fehler.

Offline Morka

  • Fördermitglied
  • *****
  • Beiträge: 73
    • Teile Beitrag
[...]
Ich habe allerdings weiterhin folgendes Problem (vermischte Bestellungen): Vermischte Bestellungen [kritisch] was ich mittlerweile auf den hier beschriebenen Fehler zurückführe.

Warum ich hier rein schreibe: Ich habe keine Möglichkeit zu testen ob dieser Fehler behoben wurde, da wir diesen als kritisch ansehen (Kunden erhalten Daten von anderen Kunden) wäre ich sehr dankbar über eine Antwort wie sich eben diese Problematik testen lässt. [...]

"Wir" heißt ein Team?!
EINE ERSTE Möglichkeit zum Testen könnte sein, dass "Ihr" euch mit euren Email-Konten jeweils ein Test-Kundenkonto erstellt und Testbestellungen macht - oder wenn Du - vermutlich - auch mehrere Email-Konten hast, kannst Du dass natürlich alleine mit mehreren Testkonten testen ...

Viele Grüße

Morka

Haendlerbund_Leistungen_728x90_animiert

Teile per facebook Teile per linkedin Teile per twitter