Schon wieder einen Bug entdeckt!!!

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.
Pengu
Mitglied
Beiträge: 23
Registriert: 30.06.2002 22:52
Kontaktdaten:

Beitrag von Pengu »

Hi Elo!

Happich gemacht - brachte beim Registrierungsversuch einen Parse-Error in Line 460...

Ich weiß, das nützt dir jetzt nix, weil du die Datei ja nicht kennst...

Wenn du magst, sag mir 'n Weg, auf welchem ich sie dir zum ansehen geben soll.

Wie auch immer, in jedem Fall vielen Dank für deine Hilfe!

Grüße aus Hamburg

Pengu
http://www.eddh.de
... fly with fun!
Elo
Mitglied
Beiträge: 318
Registriert: 04.11.2002 17:44

Beitrag von Elo »

Gerade probiert, bei mir im 2.0.3 funktioniert es.
Die Chancen stehen also nicht schlecht das wir es auch bei dir zum laufen bekommen :)

Der letzte Versuch bevor ich mir den Code dann doch etwas näher anschauen muss:

Code: Alles auswählen

if( !validate_username($username) || preg_match("#[\*]#i", $username))
Ansonsten die Datei Kopieren in eine *.txt Datei umbenennen, auf einen öffentlich zugängigen Server legen und den Link hier posten.

Elo
Pengu
Mitglied
Beiträge: 23
Registriert: 30.06.2002 22:52
Kontaktdaten:

Beitrag von Pengu »

Hi Elo!

Also an den doppelten Hochkommas lag's offenbar auch nicht - selbe Meldung (parse-error in Line 416). Komischerweise ist das aber gar nicht die Zeile, die ich geändert hatte... die ist gut 200 Zeilen tiefer...

OK, hier ist die profile.php als profile.txt:

http://www.eddh.de/x-files/qwert/profile.txt

Aber mach' dir mal nicht zu viel Arbeit damit... Ich hatte bisher nur einen User, der * in seinen Usernamen eingebaut hatte. Dessen namen hab ich geändert und ihn darüber per Mail informiert. Wär' halt nur wohl besser, wenn ich das für die Zukunft überhaupt verhindern könnte. Und ich will nicht jede Anmeldung erst als Admin freischalten...

Aber, wie gesagt: Ist nix dringendes!

Viele Grüße aus Hamburg!

Pengu
http://www.eddh.de
... fly with fun!
Elo
Mitglied
Beiträge: 318
Registriert: 04.11.2002 17:44

Beitrag von Elo »

Leider kann ich die Datei nicht überprüfen da ich hier die Version 2.0.3 am laufen habe.

Versuche es doch mal mit:

Code: Alles auswählen

if( !validate_username($username) || preg_match("/[\*]/i", $username) )
Elo
Gast

Beitrag von Gast »

Hi Elo!

Super! Scheint zu funktionieren! Keine Fehlermeldung mehr, und meine Test-Registrierung mit einem Namen mit Sternchen ergab die Meldung, dass der name schon besetzt ist, oder eben unzuulässige Zeichen verwendet wurden...!!!

PRIMA!! Dankeschön!!

Viele Grüße aus Hamburg!

Pengu
Elo
Mitglied
Beiträge: 318
Registriert: 04.11.2002 17:44

Beitrag von Elo »

Na, also.

Wird wohl an der Version des Indianers gelegen haben.

Elo
RO
Mitglied
Beiträge: 9
Registriert: 13.11.2002 16:49

Das klappt eigentlich, aber falsche Meldung (?)

Beitrag von RO »

Elo hat geschrieben:Versuche es mal hiermit (ungetestet):

Code: Alles auswählen

if ( empty($username) || preg_match('#[\*]#i', $username))
HTH
Elo
Hi Elo,
hab Deinen Beitrag gesehen und es gleich mal in mein phpbb 2.03 eingebaut. Klappt auch gut, nur sagt phpbb 2.03 bei mir, der Benutzername sei vom Administrator gesperrt, anstatt "Benutzername enthält ungültige Zeichen".
Gruß,
RO
Elo
Mitglied
Beiträge: 318
Registriert: 04.11.2002 17:44

Beitrag von Elo »

@RO

Ersetze folgende Zeilen in der usercp_register.php

Code: Alles auswählen

		if ( empty($username) )
		{
			$error = TRUE;
			$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Username_disallowed'];
		}
durch folgende

Code: Alles auswählen

		if ( empty($username) )
		{
			$error = TRUE;
			$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Username_disallowed'];
		}
		else if ( preg_match('/[\*]/i', $username) )
		{
			$error = TRUE;
			$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Username_invalid'];
		}
Gruss,
Elo
RO
Mitglied
Beiträge: 9
Registriert: 13.11.2002 16:49

Danke Elo ...

Beitrag von RO »

, jetzt funktioniert es. :P
Gast

Beitrag von Gast »

Oder dieses hier ...

Code: Alles auswählen

		else if ( preg_match('/[^_a-zA-Z0-9äöüÄÖÜß\-.= ]/i', $username) ) 
      { 
         $error = TRUE; 
         $error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Username_invalid']; 
      }
Richtig?
Antworten

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