Seite 2 von 4

Re: Warnmeldung session_regenerate_id

Verfasst: Mi 16. Nov 2022, 12:17
von mausi
... ich weiß. Aber dennoch muss es dann erwähnt sein (soweit ich gelesen habe) und ich werbe u.a. mit komplett Cookie freiem Backend. Ich möchte einfach keine Diskussion mit potentiellen Kunden, die oft nur wenig technischen Background haben. Neben der Frage nach der Notwendigkeit, bekomme ich obige Fehlermeldungen. Erst deswegen bin ich überhaupt darauf gekommen.

Re: Warnmeldung session_regenerate_id

Verfasst: Mi 16. Nov 2022, 15:31
von mokraemer
also ein Sicherheitsloch zu reißen um dafür die Cookies wegzulassen halte ich für einen Fehler - aber das mußt letztlich du wissen.

Re: Warnmeldung session_regenerate_id

Verfasst: Mi 16. Nov 2022, 15:37
von mausi
... beantwortet letztendlich aber immer noch nicht warum in webEdition neuerdings Cookies generiert werden obwohl sie nicht benötigt werden.

"Sicherheitsloch zu reißen" ... sofern es dann eins gibt ;)

Re: Warnmeldung session_regenerate_id

Verfasst: Mi 16. Nov 2022, 23:19
von mokraemer
wenn du eine Session startest, wird immer ein Cookie generiert.
Und wenn du die session_cookies deaktivierst, wird es an die URL angehängt, wodurch dies sehr einfach zu stehlen ist und ggf. sogar vom Benutzer auch (versehentlich) kopiert werden kann - das ist die Lücke.

Re: Warnmeldung session_regenerate_id

Verfasst: Mi 16. Nov 2022, 23:26
von mausi
zu 1. Und warum wird beim Aufruf der WE-Seite eine Session generiert? Welchen Sinn ergibt das, wenn sie nicht genutzt wird (z.B. Benutzerlogin)? Ich bin mir 100% sicher, dass das vorher nicht der Fall war.

zu 2. Tja, wenn man die Session-ID Verwaltung von PHP nutzt. Ich habe seit Anfang an eine eigene entwickelt ...

Re: Warnmeldung session_regenerate_id

Verfasst: Mi 16. Nov 2022, 23:52
von mokraemer
1. WE generiert das nur, wenn es ein session_start gibt
2. wenn das so ist, ist die Lücke sicher noch größer.

Re: Warnmeldung session_regenerate_id

Verfasst: Mi 16. Nov 2022, 23:58
von mausi
zu 1. Das ist leider nicht der Fall. Ich nutze kein session_start! D.h. es muss etwas WE internes sein, was dass (seit dem Update) auslöst.
zu 2. halte ich für ein Gerücht ...

Re: Warnmeldung session_regenerate_id

Verfasst: Do 17. Nov 2022, 00:22
von mokraemer
wir reden hier um den heißen Brei.
1. seit welchem Update von nach?!
2. kann man es wohl kaum einschätzen, wenn du nicht sagst, was du dir da tolles ausgedacht hast. Aber die meisten selbstgebastelten Lösungen enthalten Fehler, wenn sie nicht durch die Massen geprüft bzw. begutachtet werden.

Es kommt ja auch drauf an welche Tags du nutzt. Das WE Backend braucht auf jeden Fall Cookies. Das Frontend nur, wenn die Session ins Spiel kommt - aber wir optimieren nicht darauf technische Cookies wegzulassen. Das ist nicht unser Fokus.

Re: Warnmeldung session_regenerate_id

Verfasst: Do 17. Nov 2022, 00:37
von mausi
... sorry, aber der Einzige der um den heißen Brei redest bist Du. Ich wollte lediglich beantwortet haben wieso ein Session-Cookie generiert wird (und ich die obigen Fehlermeldungen bekomme) - mehr nicht! Das dies via session_start ausgelöst wird, ist mir seit PHP4 bekannt. D.h. ich würde nicht nachfragen, wenn ich wüsste, dass ich einen Benutzer-Login etc. im Einsatz habe. D.h. man hätte das mit 1-2 Sätzem direkt am Anfang beantworten können. Stattdessen dieses Rumgeeiere.

Seit wann das auftritt kann nicht genau sagen, ich meine seit der 9.1.3. Ich hatte das letzte Mal vor ca. 2 Jahren auf Cookies getestet. Da habe diese dubiosen Fehlermeldungen erst seit dem Update auf 9.1.3 kommen, vermute ich seit dieser Version.

Re: Warnmeldung session_regenerate_id

Verfasst: Do 17. Nov 2022, 00:49
von mokraemer
die Antwort in kurz: ich weiß es nicht.

Re: Warnmeldung session_regenerate_id

Verfasst: Do 17. Nov 2022, 00:50
von mausi
... warum nicht gleich so. Erspart viel Zeit. Danke.

Re: Warnmeldung session_regenerate_id

Verfasst: Do 17. Nov 2022, 00:53
von mokraemer
ich kann nur sagen das eine Session aktiv sein muß, sonst wäre das hier nicht wahr:
session_status() === PHP_SESSION_ACTIVE
und wenn das wahr ist, kümmert sich WE auch um den Rest der Session

Re: Warnmeldung session_regenerate_id

Verfasst: Do 17. Nov 2022, 00:56
von mausi
... ich werde mir das in einer freien Minute ansehen. Danke soweit.

Re: Warnmeldung session_regenerate_id

Verfasst: Do 17. Nov 2022, 01:08
von mokraemer
also die Ursache scheint ja iwas zu sein, was eine lange Laufzeit hat und am Ende auf einer DB Query terminiert. Dabei wird iwo eine Session gestartet und der Error Handler protokolliert das und will am Ende die Session schließen (die offen ist) und beim Schließen wird auf jeden Fall (aus Sicherheitsgründen) ein neues Cookie erstellt.
Du müßtest also eher schauen, was und warum bei deinen Vorlagen doch eine Session gestartet wird (und am Ende auch warum dies mehr als 30 Sekunden braucht). Was automatisch eine Session erstellt, ist we:sendMail.
Hetzner - die haben viele Server - das kann einfach ein Bot sein.

Re: Warnmeldung session_regenerate_id

Verfasst: Do 17. Nov 2022, 17:08
von mausi
... sorry, aber seitdem das mit Sessions ist bekomme ich ständig Fehlermeldungen (ich bin nicht eingeloggt). Das hier sieht nicht "gesund" aus:

An SQL Error occurred while executing a script in webEdition.

webEdition address: domain.tld,

URI: /
Host: domain.tld
Error type: SQL Error
Error message: 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'aetu8s93ur8bms8libhea8ignq' AND sessionName="PHPSESSID"' at line 1
Info:
Query: SELECT 1 FROM tblSessions WHERE touch>=NOW()-INTERVAL 1440 second AND session_id=x'aetu8s93ur8bms8libhea8ignq' AND sessionName="PHPSESSID"
Script name:
Line number: 0
Caller: errorHandler
Backtrace: #0 we_base_errorHandler::errorHandler called at [:]
#1 we_database_base->query called at [webEdition/we/classes/database/we_database_base.class.php:1508]
#2 we_database_base->getHash called at [webEdition/we/include/we_global.inc.php:182]
#3 f called at [webEdition/we/include/we_global.inc.php:227]
#4 fB called at [webEdition/we/classes/base/we_base_sessionHandler.class.php:121]
#5 we_base_sessionHandler->read called at [:]
#6 session_start called at [webEdition/we/classes/base/we_base_sessionHandler.class.php:80]
#7 we_base_sessionHandler->__construct called at [webEdition/we/classes/base/we_base_sessionHandler.class.php:59]
#8 we_base_sessionHandler::inst called at [webEdition/we/classes/base/we_base_showDocument.class.php:49]
#9 we_base_showDocument::checkCustomerFilter called at [webEdition/we/classes/base/we_base_showDocument.class.php:102]
#10 we_base_showDocument::getWEDoc called at [webEdition/we/include/we_showDocument.inc.php:96]
#11 require(/var/www/vhosts/domain.tld/httpdocs/webEdition/we/include/we_showDocument.inc.php) called at [index.html:4]
#12 include(/var/www/vhosts/domain.tld/httpdocs/index.html) called at [index.html:6]