Fehler mit Zeichen ' in 2.0.5

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Eight
Mitglied
Beiträge: 9
Registriert: 07.10.2002 16:00

Fehler mit Zeichen ' in 2.0.5

Beitrag von Eight »

Ahoi,

habe seit dem Update auf die Version 2.0.5 folgenden Fehler:

Allgemeiner Fehler
Tried obtaining data for a non-existent user

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax near 'Clear' AND user_id <> -1' at line 3

SELECT * FROM phpbb_users WHERE username = 'Mike O'Clear' AND user_id <> -1

Line : 100
File : /XXX/[...]/XXX/foren/includes/functions.php


Dieser Tritt immer dann auf, wenn sich ein User mit einem ' im Namen (z.B. O'Clear) einloggen möchte, oder ich diesen User im Adminpanel verwalten möchte.
Die Registration des Benutzernamens geht ohne Probleme und auch in den Versionen < 2.0.5 ging alles wunderbar mit diesen Benutzernamen.
Ich weiß ja, dass dieses Zeichen in PHP eine besonderere Bedeutung hat, aber ich dachte immer, dass das phpBB so programmiert wurde, dass es damit auch umgehen kann.

Das Forum hat keine MOD's und die beiden Sicherheitspatches für 2.0.5 wurden installiert.

Bitte um Hilfe, vielen Dank!
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

hmm.. die besagte Zeile in der functions.php is..
$sql .= ( ( is_integer($user) ) ? "user_id = $user" : "username = '" . $user . "'" ) . " AND user_id <> " . ANONYMOUS;
..in früheren Versionen schaut sie so aus..
$sql .= ( ( is_integer($user) ) ? "user_id = $user" : "username = '" . str_replace("\'", "''", $user) . "'" ) . " AND user_id <> " . ANONYMOUS;

Aber selbst damit erhalte ich auch den Fehler.
Eight
Mitglied
Beiträge: 9
Registriert: 07.10.2002 16:00

Beitrag von Eight »

Hm..

Was haben die nur mit der 2.0.5 Version gemacht. Lauter Fehler, selbst funktionierende Sachen wie das mit dem ' wurde geändert. Das versteh ich echt nicht.

Jetzt ist die Frage bei der Userabfrage, wo wird diese überall durchgeführt?
Nur einmal oder wird diese in jeder Datei durchgeführt?
So könnte man das ganze etwas eingrenzen und wieder zurückschreiben.

Weiß da jemand mehr ?
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Beim Login ist es die login.php (ca. Zeile 61), doch die is in den Versionen identisch... und beim Adminpanel ist es die oben genannte functions.php, die sich in den Versionen unterscheidet.
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“