Session Key Meldungen - Richtig gedeutet

  • Hallo Hasan,


    in einem Shop von mir kommt öfter mal folgende Fehlermeldung als Mail rein:

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------


    Code
    1. hhg_db.query( SELECT * FROM sessions WHERE sesskey = 'vdudf1glrlf9hc3ln13l6' ) % line 133, file: class.sessions.php
    Code
    1. sessions.write(vdudf1glrlf9hc3ln13l6, HHGsid_fprint|s:32:"9ef4cf2d9ad658e27ba9a63164";SEQ|a:4:{s:17:"session_touchtime";i:1521725767;s:20:"session_creationtime"...) % line 0, file:
    Code
    1. session_write_close() % line 0, file:

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------


    Diese Fehlermeldungen bedeuten doch das jemand mit einer falschen Session ID auf die Seite zugreift und dann aber abgewiesen wird. Oder?

    Falls das einen anderen Grun hat, würde ich gerne mal kurz von Dir erklärt haben was das sein könnte...


    Vielen Dank für die Hilfe und viele Grüße


    Frank

  • Diese Fehlermeldung kann mehrere mögliche Ursachen haben:

    - PHP seitig:

    PHP
    1. default_socket_timeout = 300

    - MySQL

    SQL
    1. wait_timeout = 300


    Es gibt natürlich auch weitere Gründe, aber meistens sind es die beiden Einstellungen, die jeweils zu diesem Abbruch führen.

  • Hallo rk,


    muss ich dann die Werte erhöhen?

    Was würdet Ihr mir empfehlen?


    Kann ich das wait_timeout auch in der .htaccess einstellen?

    Evtl. so?


    php_value mysql.connect_timeout 6000


    Viele Grüße


    Franky

  • Ich weiß nicht welche Shop Version Ihr im Einsatz habt, aber mysql gilt lediglich für die mysql Erweiterung, wir verwenden in der neuen Version jeweils PDOMySQL, dementsprechend sollten die oberen Werte überprüft werden. 300 Sekunden sollten dabei ausreichend sein.

  • Hallo rk,


    In der config steht bei mir auch PDOMySQL.


    Allerdings stellt sich die Frage ob ich PDOMySQL auch in der .htaccess einstellen kann.

    Gibts da auch einen Wert und wenn ja welcher ist es? Kannst Du mir den nennen?


    Denn "wait_timeout" kann ich ja wahrscheinlich nur in my.ini einstellen an die ich im ersten Moment mit einem Webhosting nicht rankomme...


    Oder evtl. so?

    $pdo->query("SET wait_timeout=300;");


    Viele Grüße


    Franky

  • $pdo->query("SET wait_timeout=300;");

    Wait Timeout kann man auch dynamisch in der Session setzen.


    Z.B.:

    PHP: core/classes/class.hhg_db.php
    1. if ($this->pconnect === true) {
    2. $this->db->PConnect($this->server, $this->username, $this->password, $this->database);
    3. } else {
    4. $this->db->Connect($this->server, $this->username, $this->password, $this->database);
    5. }
    6. $this->db->Execute('SET session wait_timeout=28800');
    7. return $this->db;