Seite 1 von 1

Gelöst: Frontendlogin mit Sonderzeichen in 4.8.7 fehlerhaft

Verfasst: Di 19. Aug 2008, 10:13
von homtata
Hallo Leute,
habe soeben ein Upgrade durchgeführt. Seither kann ich mich mit keinem Frontenduser mehr einloggen. Ich lande einfach auf einer Seite "cms/front_content.php?idart=" ohne weitere Artikelbezeichnung.
Das Loginformular springt einfach zurück auf "Eingabe", lässt mich aber nicht in den geschützten Bereich durch.
Cache, Verlauf usw. wurde alles schon mehrfach gelöscht.

Die Frontenduser und -gruppen existieren weiterhin im Backend.

Mir gehen die Ideen aus, weiß jemand Rat?

Verfasst: Di 19. Aug 2008, 14:49
von homtata
Problem eingegrenzt, aber nicht gelöst:

Ich habe ein verzahntes System FEUser & Newsletteranmeldung, daher sind meine FE Usernamen = E-Mail-Adresse.

Beim Abspeichern in die con_frontendusers wurden und werden die "@" vom System umkodiert in "%40".

In 4.8.6 wurden beim Überprüfen, ob der User existiert, diese Sonderzeichen wieder zurückkodiert, während dies in der 4.8.7 NICHT der Fall ist.

Weiß jemand, wo ich den Rückumwandlungsbefehl im System wieder eintragen kann?

Verfasst: Di 19. Aug 2008, 15:23
von homtata
Okay, Fehler gefunden: er liegt in der /conlib/local.php

---Originalcode ----

Code: Alles auswählen

 $this->db->query(sprintf("SELECT idfrontenduser, password FROM %s WHERE username = '%s' AND idclient='$client' AND active='1'", 
    						 $this->fe_database_table,
    						 Contenido_Security::escapeDB($username, $this->db) ));
--- ersetzen durch

Code: Alles auswählen

$this->db->query(sprintf("SELECT idfrontenduser, password FROM %s WHERE username = '%s' AND idclient='$client' AND active='1'", 
    						 $this->fe_database_table,
    						 Contenido_Security::escapeDB(urlencode($username), $this->db) ));
Das fehlende "urlencode" aus der 4.8.6 führt zur NICHT-Rückumwandlung der Sonderzeichen.

Verfasst: Do 28. Aug 2008, 09:59
von timo.trautmann_4fb
Verbesserung angenommen. Checkin.