Ich empfehle, dass Sie es einfach dem Kunden von Hand überlassen.
Aus Kostengründen haben Sie diesmal Glück auf Ihrer Seite:
- Sie erwarten nicht mehr als 100 Benutzer pro Tag, möglicherweise nur 10 pro Tag
- Sie haben ein Authentifizierungssystem, was bedeutet, dass Verbote dauerhaft sein können
- Sie haben einen Kunden, der gerne (selten) Namen löscht
Die Realität ist, dass es 10 Minuten dauert, bis sich jemand die Bestenlisten ansieht und alle extremen Namen verbietet. Dies ist einfach billiger und zuverlässiger, als wenn Sie Zeit für eine technische Lösung aufwenden (die Probleme haben wird).
Bei einer so geringen Anzahl an Spielern ist es unwahrscheinlich, dass dies häufig erforderlich ist - sogar einmal pro Woche in Spitzenzeiten dürfte dies ausreichen.
Aber ich habe genug Zeit, ich kann etwas richtig machen?
Falsch.
Man kann sehr leicht etwas falsch machen, was der Marke des Kunden mehr schadet als gar nichts.
Möchten Sie Regex verwenden, um alle schlechten Namen zu fangen? Wir hoffen, dass Sie alles richtig machen und auch alle False-Positives aus mehreren Datenbanken mit internationalen Real-People-Namen filtern:
https://en.wikipedia.org/wiki/Scunthorpe_problem
Und selbst wenn Sie das erfolgreich schaffen, sind die Spieler nicht dumm - sie werden sehr leicht einen Weg finden, um einen ebenso anstößigen Namen zu kreieren, den Sie nicht fangen.
Zumindest haben Sie gerade noch mehr Arbeit in die Aktualisierung dieser Regeln gesteckt, verglichen mit der kleinen manuellen Arbeit, nur die höchsten Punktzahlen zu betrachten und zu verbieten.
Nein, aber im Ernst, dies ist ein Kinderspiel - der Kunde hat klargestellt, dass es KEINE TOLERANZ für beleidigende Namen geben kann. Es muss etwas geben!
Wenn dies ehrlich gesagt der Fall ist und Sie überhaupt keine beleidigenden Namen tolerieren können. Die einzig realistische Lösung besteht darin, Ihre Spieler nicht ihre eigenen Namen erstellen zu lassen.
Dies ist die Lösung, die Sie auf fast allen Kinderspielwebsites finden, z. B. auf Cartoon Network.
Anstatt eine leere Eingabe zu machen, geben Sie eine Auswahl vorgefertigter "Namensteile" an. Zum Beispiel:
Ein Adjektiv wie "Awesome", "Fantastic", "Cunning"
Eine Mitte, wie "Bart", "Laserauge", "Pirat"
Ein Substantiv wie "Master", "Winner", "Detector"
Wodurch Anzeigenamen auf Dinge wie "Awesome Pirate Master" beschränkt werden.
Überlegen Sie auch schnell, welche Wortlisten Sie verwenden. Es macht keinen Sinn, dieses System zu implementieren, wenn der Benutzer in der Lage ist, Namen zu fummeln, um Dinge zu erhalten, die noch anstößig oder schmutzig klingen.
Natürlich gibt es auch die Möglichkeit von Duplikaten - aber Sie können dies entweder abschreiben (3 Listen mit 100 Wörtern, die bereits 1 Million mögliche Namen enthalten), je nachdem, wie wenig Spieler Sie haben, oder falls erforderlich, Sie können dies trotzdem überprüfen niemand anderes hat den Namen bei der Registrierung.
Realistisch gesehen ist dies die effektivste Lösung, wenn Sie sich ernsthafte Sorgen über schlechte Namen machen. Sie müssen jedoch eine Kostenanalyse durchführen und feststellen, ob es sich im Vergleich zu einfachen manuellen Überprüfungen wirklich lohnt, dieses System selbst herzustellen.