session freeze

emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

okay, ich weiss nicht wie ich es einfach beschreiben kann... :lol:

das problem rührt daher das einfach alles in den globalen scope geladen wird und die reihenfolge ist ja GET,POST,SERVER,COOKIE,SESSION

ich schätze einfach mal das beim cookie der gesetzt wird, der parameter path nicht definiert ist. somit gilt dieses cookie für alle verzeichnisse des servers..

phpmyadmin speichert im cookie lang die sprachvorgabe... das mit de-isoblabla

befindet sich nun auf dem selben server
localhost/contenido/
localhost/phpmyadmin/
localhost/cms/

und man wechselt einmal in den phpmyadmin wird dieses cookie gesetzt (ich glaub sogar mit umbestimmten zeit limit)
wechselt man nun in localhost/cms/
wird zuerst die config.php des mandanten geladen
anschließend die config von contenido
und dabei wird die globals_off.inc.php aufgerufen

sieht man sich nun den weiteren code der front_content.php an
wird der parameter load_lang übergangen da die variable $lang aus dem cookie initialisiert wurde...

einmal cookie löschen schafft hier abhilfe

was macht nun die nette kleine routine

sie checkt ob $HTTP_COOKIE_VARS['lang'] gesetzt ist.
setzt anschließend ein neues cookie mit keinem inhalt und setzt die zeit auf abgelaufen...
anschließend wird mittels unset($HTTP_COOKIE_VARS['lang']) dafür sorge getragen das eine bestehende post oder get variable $lang nicht mehr von $HTTP_COOKIE_VARS['lang'] überschrieben werden kann...

man könnte noch die überprüfung einbauen ob der gesetzte cookie wert bei lang wirklich numerisch ist, falls nicht hatte das frontend sowieso ein problem... und der cookie müsste gelöscht werden...

und ich kann mir nicht vorstellen das dies in einer eurer projekte benutzt wird.

die damalige sache war ja nur die ob cookie aus dieser reihenfolge entfernt werden soll oder nicht,
diese variante nimmt sich nur den lang parameter vor...
*** make your own tools (wishlist :: thx)
Gesperrt