Bestimmte Benutzernamen nicht zulassen (German / Deutsch)

by Rainer ⌂ @, Sunday, January 25, 2015, 23:12 (3350 days ago)

Guten Tag,

ein nicht registrierter Benutzer kann ja einen beliebigen Namen eintragen. Gibt es eine Möglichkeit bestimmte Worte zu sperren, die nicht in Benutzernamen verwendet werden dürfen.

Unter Spamschutz findet man das Feld "gesperrte User-Agents" (nicht akzeptierte Zeichenketten in User-Agents.)
Wenn ich dort z.B. "Maxmeier" eintrage, kann ich den Namen "Maxmeier" trotzdem als Nichtregistrierter verwenden.

Mir ist nicht klar was hier mit "User-Agents" gemeint ist. Agent bedeutet doch auf deutsch Vertreter oder Vermittler und der User ist doch ein Benutzer?

Rainer

Avatar

Bestimmte Benutzernamen nicht zulassen

by Micha ⌂, Monday, January 26, 2015, 08:26 (3350 days ago) @ Rainer

Hi,

Gibt es eine Möglichkeit bestimmte Worte zu sperren, die nicht in Benutzernamen verwendet werden dürfen.

Ja, das sollten afaik die "nicht akzeptierte Wörter" sein, die Du vergeben kannst.

Mir ist nicht klar was hier mit "User-Agents" gemeint ist.

Bspw. der Browser.

Gruß Micha

--
applied-geodesy.org - OpenSource Least-Squares Adjustment Software for Geodetic Sciences

Bestimmte Benutzernamen nicht zulassen

by Rainer ⌂ @, Tuesday, January 27, 2015, 09:57 (3349 days ago) @ Micha

Gibt es eine Möglichkeit bestimmte Worte zu sperren, die nicht in Benutzernamen verwendet werden dürfen.


Ja, das sollten afaik die "nicht akzeptierte Wörter" sein, die Du vergeben kannst.

Dann ist das Wort aber auch im Text gesperrt.

Ich habe das so gelöst. In der posting.inc.php habe ich in Zeile 731 (Ver. 2.3.3) folgendes eingefügt:

$testname = ' '.$name;
if(stristr($testname, 'beispielname'))
 {
 $errors[] = 'error_name_reserved';
 }

Da sich die Zeilennummern in den verschiedenen Versionen unterscheiden, es ist nach dem Block

// check for not accepted words:

Rainer

Avatar

Bestimmte Benutzernamen nicht zulassen

by Auge ⌂, Tuesday, January 27, 2015, 15:19 (3349 days ago) @ Rainer

Hallo

Gibt es eine Möglichkeit bestimmte Worte zu sperren, die nicht in Benutzernamen verwendet werden dürfen.


Ja, das sollten afaik die "nicht akzeptierte Wörter" sein, die Du vergeben kannst.


Dann ist das Wort aber auch im Text gesperrt.

Blöde Frage (ich habe grad' keine 2-er Installation zur Hand): Gibt es keine Liste gebannter Benutzer(namen) mehr? In mlf1 gab/gibt es diese Liste noch, auch wenn die Implementierung stark verbesserungswürdig ist.

Ich bitte um eine kurze Erläuterung.

$testname = ' '.$name;
if(stristr($testname, 'beispielname'))
{
$errors[] = 'error_name_reserved';
}

Woher kommt $name? Warum wird $name ein Leerzeichen vorangestellt? Was machst du, wenn mehrere Namen gesperrt werden sollen?

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Bestimmte Benutzernamen nicht zulassen

by Rainer ⌂ @, Wednesday, January 28, 2015, 11:02 (3348 days ago) @ Auge

Ich bitte um eine kurze Erläuterung.

$testname = ' '.$name;
if(stristr($testname, 'beispielname'))
{
$errors[] = 'error_name_reserved';
}


Woher kommt $name?

In $name steht der eingegebene Benutzername.

Warum wird $name ein Leerzeichen vorangestellt?

Das Leerreichen stelle ich bei Stringtests immer voran, weil als Ergebnis auch die Position 0 (false) geliefert werden kann. kann man sich schenken wenn man mit

if (xxx) === true

prüft.

Was machst du, wenn mehrere Namen gesperrt werden sollen?

if(stristr($testname, 'xxxx1') or stristr($testname, 'xxxx2') or stristr($testname, 'xxxx3'))

Wenn da viele Namen getestet werden sollten, müsste man die Namen in ein array schreiben und in einer Schleife prüfen.

Rainer

Avatar

Bestimmte Benutzernamen nicht zulassen

by Auge ⌂, Wednesday, January 28, 2015, 21:30 (3347 days ago) @ Rainer
edited by Auge, Friday, November 25, 2016, 13:49

Hallo

Warum wird $name ein Leerzeichen vorangestellt?


Das Leerreichen stelle ich bei Stringtests immer voran, weil als Ergebnis auch die Position 0 (false) geliefert werden kann. kann man sich schenken wenn man mit

if (xxx) === true

prüft.

Ja, mit typsicherer Prüfung kann man sich das Leerzeichen schenken, zumal es ja nach der Prüfung wieder weg muss. :-)

Was machst du, wenn mehrere Namen gesperrt werden sollen?


if(stristr($testname, 'xxxx1') or stristr($testname, 'xxxx2') or stristr($testname, 'xxxx3'))

Wenn da viele Namen getestet werden sollten, müsste man die Namen in ein array schreiben und in einer Schleife prüfen.

Wenn ich einen Namen gegen eine Liste gesperrter Namen prüfen wollte, wäre diese Liste entweder ein Array (in_array($name, $arrayBlockedNames)), womit sich die Schleife erübrigte, oder ich würde das mit einer Abfrage gegen eine Liste in der DB erledigen (SELECT COUNT(*) AS gesperrt FROM tblBlah WHERE namen = 'Name'). Kommt als Ergebnis gesperrt = 0 zurück, ist alles i.O., ist das Ergebnis gesperrt > 0 (sollte, wenn keine Doppelungen da sind, 1 sein), ist der Name gesperrt.

Tschö, Auge

--
Trenne niemals Müll, denn er hat nur eine Silbe!

Bestimmte Benutzernamen nicht zulassen

by Rainer ⌂ @, Wednesday, January 28, 2015, 23:46 (3347 days ago) @ Auge

Danke für deine Ausführungen. Ich werde für die Blockierung unerwünschter Namen den Bereich "User-Agents" im Spamschutz missbrauchen, weil mir für blockierte User-Agents keine sinnvolle Anwendung einfällt.

Rainer

Bestimmte Benutzernamen nicht zulassen

by L.Willms, Thursday, January 29, 2015, 05:07 (3347 days ago) @ Rainer

Danke für deine Ausführungen. Ich werde für die Blockierung unerwünschter Namen den Bereich "User-Agents" im Spamschutz missbrauchen, weil mir für blockierte User-Agents keine sinnvolle Anwendung einfällt.

Blockierte User-Agents könnten z.B. bestimmte Webcrawler sein. Robots, die sich einschreiben wollen.

RSS Feed of thread