Mal wieder: Bug in phpBB 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
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Mal wieder: Bug in phpBB 2.0.5

Beitrag von PhilippK »

Hallo zusammen,

mal wieder ein kleiner netter Bug in der 2.0.5: Benutzer, die ein einfaches Anführungszeichen in ihrem Namen haben, können sich nicht anmelden. Auch kann der entsprechende Benutzer nicht im Admin-Bereich aufgerufen werden. Eine entsprechende Registrierung ist jedoch möglich.

Hier der Fix: (aus CVS)
öffne login.php, suche

Code: Alles auswählen

		$username = isset($HTTP_POST_VARS['username']) ? trim(htmlspecialchars($HTTP_POST_VARS['username'])) : '';
		$username = substr(str_replace("\'", "'", $username), 0, 25);
		$password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';

		$sql = "SELECT user_id, username, user_password, user_active, user_level
			FROM " . USERS_TABLE . "
			WHERE username = '" . str_replace("\'", "''", $username) . "'";
und ersetze durch

Code: Alles auswählen

		$username = isset($HTTP_POST_VARS['username']) ? trim(htmlspecialchars($HTTP_POST_VARS['username'])) : '';
		$username = substr(str_replace("\\'", "'", $username), 0, 25);
		$username = str_replace("'", "\\'", $username);
		$password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';

		$sql = "SELECT user_id, username, user_password, user_active, user_level
			FROM " . USERS_TABLE . "
			WHERE username = '" . str_replace("\\'", "''", $username) . "'";
Öffne ./includes/functions.php, suche

Code: Alles auswählen

		$user = substr(str_replace("\'", "'", $user), 0, 25);
und ersetze mit

Code: Alles auswählen

		$user = substr(str_replace("\\'", "'", $user), 0, 25);
		$user = str_replace("'", "\\'", $user);
Gruß, Philipp
Zuletzt geändert von PhilippK am 26.07.2003 16:04, insgesamt 1-mal geändert.
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Gast

Beitrag von Gast »

cool...
Danke, phpBB Süchtiger PhilippK,

frage ? kann man sich danach anmelden mit " oder gehen keine " mehr im anmeldenamen?? (komische fragestellung)

werde es morgen mal ausprobieren...

gute nacht erstmal.....
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Danach sollte die Anmeldung wieder klappen :-)

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Kleines Update. Sollte zwar bei MySQL keinen Unterschied machen - aber so ist es sauberer :-)

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Antworten

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