Je vous recommande de laisser le client le faire manuellement.
Du point de vue des coûts, vous avez la chance de votre côté cette fois-ci:
- Vous ne vous attendez pas à plus de 100 utilisateurs / jour, aussi bas que 10 / jour
- Vous avez un système d'authentification, ce qui signifie que les interdictions peuvent être permanentes
- Vous avez un client qui est heureux de supprimer des noms (rarement)
En réalité, il vous faudra 10 minutes pour parcourir les classements et interdire les noms extrêmes. Ce sera tout simplement meilleur marché et plus fiable que de passer du temps à une solution d'ingénierie (qui posera des problèmes).
Avec un nombre de jeu aussi bas, il est peu probable que cela soit souvent nécessaire - même une fois par semaine en période de pointe suffira probablement.
Mais j'ai tout le temps, je peux faire quelque chose, non?
Faux.
Vous pouvez très facilement faire quelque chose de mal, ce qui est plus dommageable pour la marque du client que de ne rien faire du tout.
Voulez-vous utiliser Regex pour attraper tous les mauvais noms? Il est préférable d'espérer que tout se passe bien et que vous filtrez également tous les faux positifs de multiples bases de données de noms de personnes réels internationaux:
https://en.wikipedia.org/wiki/Scunthorpe_problem
Et même si vous gérez ce qui précède avec succès, les joueurs ne sont pas stupides - ils trouveront très facilement un moyen de contourner votre système pour créer un nom tout aussi offensant que vous n'accrochez pas.
Au minimum, vous venez d'ajouter encore plus de travail pour maintenir ces règles à jour, par rapport au petit travail manuel qui consiste à ne regarder que les scores les plus élevés et à bannir.
Non, mais sérieusement, il s'agit d'un jeu pour enfants - le client a clairement indiqué qu'il ne pouvait y avoir de TOLÉRANCE SANS pour les noms offensants. Il doit y avoir quelque chose!
Si tel est le cas, vous ne pouvez tolérer aucun nom offensant. La seule solution réaliste consiste simplement à ne pas laisser vos joueurs créer leurs propres noms.
C'est la solution que vous trouverez sur presque tous les sites de jeux pour enfants, tels que Cartoon Network.
Au lieu de donner une entrée vide, vous donnez une sélection de "parties de nom" prédéfinies. Par exemple:
Un adjectif, tel que "génial", "fantastique", "rusé"
Un milieu, tel que "barbu", "oeil laser", "pirate"
Un nom, tel que "Maître", "Gagnant", "Détecteur"
Ce qui limite les noms d'affichage à des choses comme "Awesome Pirate Master".
Prenez également en considération les listes de mots que vous utilisez. Il est inutile de mettre en œuvre ce système si l'utilisateur est capable de manipuler des noms pour obtenir des choses qui semblent encore offensantes ou sales.
Bien sûr, il y a aussi une possibilité de doublons - mais vous pouvez soit l'écrire (3 listes de 100 mots, donne déjà 1 million de noms possibles) en raison du nombre de joueurs que vous avez, ou si nécessaire - vous pouvez toujours vérifier que personne d'autre n'a le nom sur l'enregistrement.
De manière réaliste, cela peut être la solution la plus efficace si vous vous inquiétez sérieusement des mauvais noms. Cependant, vous devez effectuer une analyse des coûts et déterminer si la mise en place de ce système en vaut vraiment la peine par rapport aux simples contrôles manuels.