Seite 1 von 1

* in Benutzernamen führt zu Problemen

Verfasst: 10.03.2004 21:07
von kruemi
Wenn man Benutzer mit * im Benutzernamen hat, so führt die bei den Suchfunktionen zu Problemen.
Die Suche nach Beiträgen dieses Benutzers gestaltet sich schwierig bis unmöglich, da auch Beiträge von anderen Benutzern angezeigt werden, die dies Zeichenfolge enthalten (vor allem bei kurzen Benutzernamen mit * am Anfang und am Ende).
Auch wenn man ober die Benutzerseite geht, und dort auf "Alle Beiträge dieses Benutzers anzeigen" klickt, bekommt man Beiträge von anderen autoren zu Gesicht.

Ich hoffe, ich tu niemandem unrecht, wenn ich dies hier (aus diesem Forum) als Beispiel poste
http://www.phpbb.de/profile.php?mode=viewprofile&u=5274

Der Benutzer hat 0 Beiträge geschrieben, wenn man seine Beiträge auflistet, erscheinen 3 Stück eines anderen Benutzers.

In meinem Forum hab ich aufgrund der Probleme nun den * aus den Benutzernamen verbannt. Mit einer Methode, die an http://www.phpbb.de/viewtopic.php?p=137425#137425 angelehnt ist (der code sieht in 2.0.6 etwas anders aus, macht aber das anfügen weiterer Zeichen einfacher)

Ist das Problem bekannt? Wird es gelöst? gibt es workarounds, um den * zu escapen? ( \* funktioniert nicht :-( )

Grüsse

kruemi

Verfasst: 11.03.2004 13:52
von Mister_X
http://www.phpbb.de/viewtopic.php?t=17878
Für irgendein Jokerzeichen musst du dich entscheiden und das kannst du dann für die Registrierung verbieten.

Verfasst: 12.03.2004 11:49
von kruemi
Naja, ich denke, es dürfte nicht eben trivial sein, ein anderes Zeichen als Wildcard zu definieren, da diese soweit ich sehe, direkt in die DB-Abfrage einfliessen (d.h. für die DB ist der * halt auch ein Wildcard).
Es währe wohl sinnvoll, den * in der default-installation zu verbieten, da ansonsten solche Probleme unausweichlich sien. Ich selbst habe den inzsichen ausgeschlossen, aber erst, nachdem ich selbst von einem Bernutzer darauf aufmerksam gemacht worden bin, dass er (bzw sie) genau dieses Problem hat.

Die bereits existierenden Namen mit * lass ich nun halt, aber es gibt wenigsten keine neuen.

Hier im Forum gibt es ja auch nen Benutzer *, such mal nach Beiträgen von dem :-(

In includes/functions_validate.php

if (strstr($username, '"') || strstr($username, '"') || strstr($username, chr(160)))

ersetzen durch

if (strstr($username, '"') || strstr($username, '"') || strstr($username, chr(160)) || strstr($username, '*'))

Fertig

viel Spass

kruemi