Shop Hosting
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: Wieso steht dieser Code in sessions.php?

    hhtech

    • Frisch an Board
    • Beiträge: 71
    Wieso steht dieser Code in sessions.php?
    am: 29. März 2018, 09:52:19
    Hi Leute :-)

    Da es woanders (https://www.modified-shop.org/forum/index.php?topic=38752.msg349855#msg349855) vielleicht untergegangen ist, frage ich hier nochmal genau:

    In includes/functions/sessions.php in unserialize_session_data steht:

    Code: PHP  [Auswählen]
    //check for suhosin.session.encrypt
    if (suhosin_check()) return 'ENCRYPTED';

    Wieso steht das da? Bei mir funktioniert das Anzeigen des Warenkorbinhalts der Kunden und das Löschen von Gästen bei aktiviertem Suhosin, wenn dieser Code auskommentiert ist. Standardmäßig, mit diesem Code aktiv, funktioniert weder das Anzeigen des Warenkorbinhaltes noch das automatische Löschen von Gästen bei Ablauf der Gastsession (und letzteres ohne jede Warnung oder einen Hinweis darauf, woran das liegt und wie es zu reparieren ist). Also habe ich ihn auskommentiert. Habe ich da etwas falsch gemacht?

    [edit] Meine Version: v2.0.2.1

    Geht es bei irgendjemand anderem mit aktiviertem Suhosin? Gibt es irgendeinen Grund, diesen Code wieder einzukommentieren und stattdessen Suhosin zu deaktivieren?

    Für Antworten wäre ich sehr dankbar. :)

    Liebe Grüße
    hhtech

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

    hhtech

    • Frisch an Board
    • Beiträge: 71
    Re: Wieso steht dieser Code in sessions.php?
    Antwort #1 am: 05. Mai 2018, 22:08:50
    Anscheinend nicht. :-/ Weiß denn wirklich niemand, wieso dieser Code da steht?

    Liebe Grüße :)
    hhtech

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: Wieso steht dieser Code in sessions.php?
    Antwort #2 am: 05. Mai 2018, 22:35:05
    Hallo hhtech,
    es gab im Shop-Backend eine fehlerhafte Darstellung mit Suhosin, was damit nur unterdrückt wurde.

    In der htaccess ein paar Einstellungsmöglichkeiten für Suhosin:
      ##-- set suhosin flags because of errors with attributes (for webhosters with suhosin hardening patch enabled)
      #php_value suhosin.post.max_array_depth 0
      #php_value suhosin.post.max_array_index_length 0
      #php_value suhosin.post.max_vars 0
      #php_value suhosin.request.max_array_depth 0
      #php_value suhosin.request.max_array_index_length 0
      #php_value suhosin.request.max_vars 0

      ##-- set suhosin flags to have unencrypted session data, affecting "whos_online" & "shopping cart" (for webhosters with suhosin hardening patch enabled)patch enabled
      #php_value suhosin.session.encrypt Off
      #php_value suhosin.session.cryptkey ''

    Welche Zeilen davon hast du in der htaccess aktiv?

    Mir fällt da gerade was auf, suhosin.session.encrypt könnte Off zurückgeben, was als String true wäre.
    Code: PHP  [Auswählen]
      function suhosin_check() {
        if ( extension_loaded( "suhosin" ) && ini_get( "suhosin.session.encrypt" )) {
          // suhosin is active and suhosin.session.encrypt is On    
          return true;      
        }
        return false;
      }

    Was bekommst du mit folgender Zeile ausgegeben?
    Code: PHP  [Auswählen]
    var_dump(ini_get( "suhosin.session.encrypt" ));

    Vermutlich muss ini_get("suhosin.session.encrypt") auf false/off bzw. true/on geprüft werden, wobei dazu auf php.net folgendes zu finden ist, was den Kommentaren zu ini_get widerspricht.
    Zitat
    A boolean ini value of off will be returned as an empty string or "0" while a boolean ini value of on will be returned as "1". The function can also return the literal string of INI value

    Freundlichen Gruß,
    h-h-h

    hhtech

    • Frisch an Board
    • Beiträge: 71
    Re: Wieso steht dieser Code in sessions.php?
    Antwort #3 am: 21. Mai 2018, 11:12:32
    Hallo h-h-h. :-)

    Vielen Dank für deine Antwort. :-)

    Sorry, daß ich erst so spät antworte.

    In meiner .htaccess ist keine dieser Zeilen einkommentiert. Ich habe aber "php_flag suhosin.session.encrypt On" hinzugefügt. Weiß nicht mehr warum, keine Ahnung, ob das was bewirkt, aber konnte wahrscheinlich nicht glauben, daß es mit angeschaltetem Suhosin funktioniert, und wollte nochmal ganz sicher sein. :-P

    Mit deinem Code

    Code: PHP  [Auswählen]
    var_dump(ini_get( "suhosin.session.encrypt" ));

    bekomme ich ausgegeben:

    Zitat
    string(1) "1"

    Ich zitiere mich auch nochmal aus meinem oben verlinkten Post:

    Zitat
    Die Ausgabe von base64_decode($session['value']) sieht bei mir sowohl mit als auch ohne Suhosin gleich aus.
    (wenn "if (suhosin_check()) return 'ENCRYPTED';" auskommentiert ist). [edit: in includes/functions/sessions.php]

    Ich hab mir jetzt nochmal phpinfo() angeguckt. Da ist alles auf an, außer cookie_encrypt jedoch  :-?

    suhosin.apc_bug_workaround   Off   Off
    suhosin.cookie.checkraddr   0   0
    suhosin.cookie.cryptdocroot   On   On
    suhosin.cookie.cryptkey   [ protected ]   [ protected ]
    suhosin.cookie.cryptlist   no value   no value
    suhosin.cookie.cryptraddr   0   0
    suhosin.cookie.cryptua   On   On
    suhosin.cookie.disallow_nul   1   1
    suhosin.cookie.disallow_ws   1   1
    suhosin.cookie.encrypt   Off   Off

    Im suhosin-Howto hier https://suhosin.org/stories/howtos.html steht:

    Zitat
    This feature is disabled by default.

    Liebe Grüße
    hhtech
    2 Antworten
    4139 Aufrufe
    21. Mai 2018, 11:56:23 von hhtech
    6 Antworten
    1965 Aufrufe
    23. Oktober 2018, 02:12:56 von noRiddle (revilonetz)
    12 Antworten
    4413 Aufrufe
    03. Januar 2017, 21:16:54 von hpzeller
               
    anything