Seite 1 von 4

Warnmeldung session_regenerate_id

Verfasst: Mi 9. Mär 2022, 17:00
von r_kempf
Hallo Community,
wir haben eine neue Website mit WE9 an den Start gebracht und bekommen lauter Warnmeldungen im Error-Log:

-> session_regenerate_id(): Cannot call session save handler in a recursive manner

gefolgt von:

->session_regenerate_id(): Session write failed. ID: user (path: /temp/647825/u647825/example.de)

gefolgt von:

MYSQL-ERROR
Fehler: 1064
Detail: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'x'4j5s7oo9dult1qqatm6hvjurjc' AND sessionName="PHPSESSID"' at line 1
Info:
Query: SELECT 1 FROM tblSessions WHERE touch>=NOW()-INTERVAL 1440 second AND session_id=x'4j5s7oo9dult1qqatm6hvjurjc' AND sessionName="PHPSESSID"

gefolgt von:

MYSQL-ERROR
Fehler: 1064
Detail: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'x'4j5s7oo9dult1qqatm6hvjurjc',`session_data`=x'242d31612462333866306638643131...' at line 1
Info:
Query: REPLACE INTO tblSessions SET `sessionName`="PHPSESSID",`session_id`=x'4j5s7oo9dult1qqatm6hvjurjc',`session_data`=x'242d31612462333866306638643131666234346661240db7733a826167ac9700a1a6802e38b3',`lock_id`=x'6064f5f21977a9c3637359c77bbe5ba7',`lockTime`=NOW()

Die Servereinstellungen bzgl. sessions sollten stimmen:
session.auto_start: Off
session.cookie_secure: 1
session.use_cookies: 1
session.use_only_cookies: 1
session.use_strict_mode: 0

Hat jemand eine Idee, was da los ist?

VG Regina

Re: Warnmeldung session_regenerate_id

Verfasst: Mi 9. Mär 2022, 21:43
von mokraemer
stell mal
session.sid_bits_per_character=4

Re: Warnmeldung session_regenerate_id

Verfasst: Do 10. Mär 2022, 10:16
von r_kempf
Hallo Marc,
bringt nix, weil es schon so eingestellt ist.
Und es füllt sich weiterhin täglich das Error-Log.
Ich habe jetzt erstmal das <we:sessionstart> nur für die Formulare gesetzt.
Aber das kann ja nicht die Lösung sein.
Wie kann man das abstellen?
LG Regina

Re: Warnmeldung session_regenerate_id

Verfasst: Do 10. Mär 2022, 10:53
von mokraemer
dann wird es nicht beachtet/ignoriert. Denn die Sessionid darf dann nur hex sein (0-9A-F) alle anderen Zeichen sind unzulässig. Was ja offensichtlich hier nicht stimmt:
session_id=x'4j5s7oo9dult1qqatm6hvjurjc'

Re: Warnmeldung session_regenerate_id

Verfasst: Fr 11. Mär 2022, 20:40
von NilSole
Bei mir Lokal hatte ich mal manuell ein Session_start in PHP ausgeführt, danach hatte ich auch diesen Fehler. Kann das ein Anhaltspunkt sein?

Re: Warnmeldung session_regenerate_id

Verfasst: Fr 11. Mär 2022, 21:03
von mokraemer
hast du vielleicht session.hash_bits_per_character und nicht session.sid_bits_per_character gesetzt?

Re: Warnmeldung session_regenerate_id

Verfasst: Di 15. Nov 2022, 23:43
von mausi
Ich schließe mich mal hier an. Ich bekomme ähnliche Meldungen unter 9.1.3, aber meine Seiten nutzen keinen UserLogin und zu dem Zeitpunkt war ich nicht im System eingeloggt. Ich finde das gerade etwas "spooky". Laut IP kommen die Aufrufe aus dem Bereich bei Hetzner.

Error type:
Warning
Error message:
session_write_close(): Failed to write session data using user defined save handler. (session.save_path: /var/lib/php/sessions)
Script name:
Line number:
0
Backtrace:
#0 we_base_errorHandler::errorHandler called at [:]
#1 session_write_close called at [webEdition/we/classes/base/we_base_errorHandler.class.php:526]
#2 we_base_errorHandler::errorHandler called at [webEdition/we/classes/base/we_base_errorHandler.class.php:557]
Source code around:
webEdition/we/classes/base/we_base_errorHandler.class.php:
525: if(session_status() === PHP_SESSION_ACTIVE){
526: session_write_close();
527: }
528: }
529: // Stop execution
530: return false;

----------------------------------------------------------
webEdition/we/classes/base/we_base_errorHandler.class.php:
556: case E_RECOVERABLE_ERROR:
557: self::errorHandler((int) $error['type'], (string) $error['message'] . "\n" . print_r($error, true), (string) $error['file'], (int) $error['line'], []);
558: default:
559: }
560: //shutdown DB and close all connections
561: we_database_base::shutDown();

----------------------------------------------------------
Request:
[we_cmd] => Array
(
[1] => 280
)


gefolgt von


Maximum execution time of 30 seconds exceeded
Array
(
[type] => 1
[message] => Maximum execution time of 30 seconds exceeded
[file] => /var/www/vhosts/omoc.de/httpdocs/webEdition/we/classes/database/we_database_mysqli.class.php
[line] => 57
)
Script name:
SECURITY_REPL_DOC_ROOT/webEdition/we/classes/database/we_database_mysqli.class.php
Line number:
57
Backtrace:
-
Source code around:
webEdition/we/classes/database/we_database_mysqli.class.php:
56: try{
57: $tmp = $this->Link_ID->query($Query_String, ($unbuffered ? MYSQLI_USE_RESULT : MYSQLI_STORE_RESULT));
58: }catch(\Exception $e){
59: return null; //in php 8.1 mysqli will raise exceptions instead of false
60: }
61: if($tmp === false){

----------------------------------------------------------
Request:
[we_cmd] => Array
(
[1] => 136
)

Re: Warnmeldung session_regenerate_id

Verfasst: Di 15. Nov 2022, 23:49
von mausi
... ich sehe gerade - seit wann löst webEdition im ausgeloggten Zustand eine PHP-Session (leer) aus???

Re: Warnmeldung session_regenerate_id

Verfasst: Mi 16. Nov 2022, 00:18
von mausi
... gerade mit session.use_cookies = 0 das Verhalten deaktiviert (wg. DSGVO), womit allerdings kein WE-Login mehr möglich ist.

Re: Warnmeldung session_regenerate_id

Verfasst: Mi 16. Nov 2022, 00:26
von mokraemer
du solltest NIEMALS session.use_cookies = 0 setzen!!!!
Und technische Cookies sind IMMER ausgenommen.

Re: Warnmeldung session_regenerate_id

Verfasst: Mi 16. Nov 2022, 01:47
von mausi
... das weiß ich natürlich! Aber ich habe keine Lust eine Abmahnung wg. der Nutzung von Cookies zu bekommen. Ist mir gerade egal, dass ich mich nicht in WE einloggen kann. Bei mir kommt kein Cookie-Dingends Banner auf die Seite. Frage ist - WARUM wird plötzlich ein leeres Cookie erzeugt? Das war doch vorher nicht!?

Re: Warnmeldung session_regenerate_id

Verfasst: Mi 16. Nov 2022, 10:57
von mokraemer
wie sind denn deine Sessioneinstellungen?
Eigentlich passiert das nur, wenn man andere Einstellungen hat und noch ein altes Cookie übergeben wird.

Re: Warnmeldung session_regenerate_id

Verfasst: Mi 16. Nov 2022, 11:01
von mausi
"Sessioneinstellungen" - falls Du die in WE meinst -> da ist nur noch eine Infoblase. Ich habe mich ausgeloggt, alle Sessions gelöscht und die Seite neu aufgerufen -> PHPSESSID Cookie.

Re: Warnmeldung session_regenerate_id

Verfasst: Mi 16. Nov 2022, 11:15
von mausi
ps. hatte erst gedacht, dass es durch die Umstellung auf PHP 8.1 kommt (was mit der neuen 9.1.3 jetzt gut klappte), aber ich habe das auf anderen Seiten nicht.

Re: Warnmeldung session_regenerate_id

Verfasst: Mi 16. Nov 2022, 12:11
von Finn
mausi hat geschrieben: Mi 16. Nov 2022, 01:47 ... das weiß ich natürlich! Aber ich habe keine Lust eine Abmahnung wg. der Nutzung von Cookies zu bekommen. Ist mir gerade egal, dass ich mich nicht in WE einloggen kann. Bei mir kommt kein Cookie-Dingends Banner auf die Seite. Frage ist - WARUM wird plötzlich ein leeres Cookie erzeugt? Das war doch vorher nicht!?
Ohne hier Rechtsberatung machen zu wollen, Du darfst natürlich technisch notwendige Cookies setzten, auch ohne Cookie-Banner.
Das Einholen bezieht sich auf Cookies, die eine Wiedererkennung über die Session hinaus erlauben oder persönliche Daten speichern / weiter geben.