Seite 1 von 1

Frontend Problem: Cookie Fehlermeldung

Verfasst: Di 15. Aug 2006, 09:00
von ncf
Hallo zusammen,

ich habe da ein sehr merkwürdiges Problem: Wir haben auf unserem Contenido mehrere Mandanten eingerichtet,die alle aus derselben Contenido-Installation stammen (4.4.4). Nach Update auf 4.6.8 bekomme ich jetzt bei einem dieser Mandanten die Fehlermeldung:

Code: Alles auswählen

Warning: Cookie names can not contain any of the folllowing '=,; \t\r\n\013\014' (sid_9_9 ) in /var/www/pages_cms/conlib/session.inc on line 128
Diese Fehlermeldung erscheint selbst, wenn ich den gesamten Quellcode aus dem Layout entferne und damit ja eigentlich nichts außer den Contenido-Quellen genutzt wird. :cry:

Kurz zu unserer Installation:
Contenido 4.6.8
PHP 5.1.2
MySQL 5.0.22

Kann mir da jemand einen schlauen Tipp geben?

Verfasst: Di 15. Aug 2006, 09:42
von emergence
wie sieht die config.php des mandanten aus ?

Verfasst: Di 15. Aug 2006, 09:50
von ncf
Das ist der Standard aus der Contenido-Installation:

Code: Alles auswählen


$contenido_path = "../contenido/";
$load_lang = "9";
$load_client = "9";

$frontend_debug["container_display"] = false;
$frontend_debug["module_display"] = false;
$frontend_debug["module_timing"] = false;
$frontend_debug["module_timing_summary"] = false;

$force = 0;

Verfasst: Di 15. Aug 2006, 10:04
von emergence
Das ist der Standard aus der Contenido-Installation
also wenn das die config des mandanten ist, der die fehlermeldung bringt, hab ich keine weiteren ideen...

Verfasst: Di 15. Aug 2006, 11:19
von HerrB
a) Was steht in conlib/local.php jeweils in $cookiename? Steht da was anderes als "contenido"?
b) Was gibt folgende Änderung in conlib/sessio.inc aus:

Statt

Code: Alles auswählen

  function get_id($id = "") {
    global $_COOKIE, $_GET, $_POST, $QUERY_STRING;
    $newid=true;

    $this->name = $this->cookiename==""?$this->classname:$this->cookiename;
diesen Code (echo ergänzt):

Code: Alles auswählen

  function get_id($id = "") {
    global $_COOKIE, $_GET, $_POST, $QUERY_STRING;
    $newid=true;

    $this->name = $this->cookiename==""?$this->classname:$this->cookiename;
    echo $this->name;
Ich habe keine Ahnung, ob man das überhaupt sehen kann, aber ich hoffe doch...

Gruß
HerrB

Verfasst: Di 15. Aug 2006, 12:28
von ncf
Hallo HerrB,

a) Bei Contenido_Session ist $cookiename tatsächlich "contenido". Allerdings ruft die front_content.php (line 34ff) folgende Weiche auf:

Code: Alles auswählen

if ($contenido)
{

        //Backend
        page_open(array ('sess' => 'Contenido_Session', 'auth' => 'Contenido_Challenge_Crypt_Auth', 'perm' => 'Contenido_Perm'));
        i18nInit($cfg["path"]["contenido"].$cfg["path"]["locale"], $belang);
}
else
{

        //Frontend
        page_open(array ('sess' => 'Contenido_Frontend_Session', 'auth' => 'Contenido_Frontend_Challenge_Crypt_Auth', 'perm' => 'Contenido_Perm'));

}
Die dabei aufgerufene Contenido_Frontend_Session definiert hingegen $cookiename = "sid_".$load_client."_".$load_lang.
Damit meldet sich $cookiename mit sid_9_9 - und das war ja die Frage aus b)

Verfasst: Di 15. Aug 2006, 12:56
von emergence
jetzt frag ich nochmal wie sieht die config.php des mandanten aus ?
der standard aus der contenido installation intressiert mich nicht...

Verfasst: Di 15. Aug 2006, 13:02
von ncf
Der Ausschnitt, den ich vorhin gepostet habe, ist aus der config.php dieses Mandanten. Ich habe im Original nur die Variablen $load_lang und
$load_client angepasst, was ja zwingend erforderlich ist.

Verfasst: Di 15. Aug 2006, 13:08
von emergence
die fehlermeldung ist reproduzierbar wenn in der config.php des mandanten

Code: Alles auswählen

$load_lang = "9 ";
drinnen steht...

Code: Alles auswählen

$load_lang = "9";
führt bei mir zu keiner fehlermeldung...

das selbe gilt für load_client...

Verfasst: Di 15. Aug 2006, 13:40
von ncf
Das war's! Unglaublich - so ein klitzekleiner Tab und so eine große Wirkung.
Seit Stunden such ich den Contenido-Quellcode hoch und runter und so ein kleines Ding ist schuld an allem...

Vielen Dank für Eure Hilfe!