Seite 1 von 1

Mal wieder: Bug in phpBB 2.0.5

Verfasst: 16.07.2003 21:23
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

Verfasst: 17.07.2003 02:46
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.....

Verfasst: 17.07.2003 07:20
von PhilippK
Danach sollte die Anmeldung wieder klappen :-)

Gruß, Philipp

Verfasst: 26.07.2003 16:07
von PhilippK
Kleines Update. Sollte zwar bei MySQL keinen Unterschied machen - aber so ist es sauberer :-)

Gruß, Philipp