Seite 1 von 1

Fehler mit Zeichen ' in 2.0.5

Verfasst: 30.06.2003 20:59
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!

Verfasst: 01.07.2003 21:11
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.

Verfasst: 01.07.2003 22:33
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 ?

Verfasst: 02.07.2003 10:36
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.