我建议您只让客户端手动执行。
从成本角度来看,这次您很幸运:
- 您期望每天不超过100个用户,可能低至每天10个用户
- 您具有身份验证系统,这意味着禁令可能是永久性的
- 您的客户端很乐意(不经常)删除姓名
现实是,某人花10分钟查看最高的排行榜并禁止任何极端的名字-比您花时间在工程解决方案上(这会出问题)更便宜,更可靠。
由于玩家数量如此之低,因此不太可能需要经常执行此操作-即使在高峰期每周一次也足够了。
但是我有很多时间,我可以做些正确的事情吗?
错误。
您可以很容易地做错什么,比什么都不做更对客户的品牌造成损害。
是否想使用正则表达式来捕获所有不良名称?希望您能完全正确地做到这一点,并从多个国际真实姓名数据库中过滤掉所有假阳性:
https://zh.wikipedia.org/wiki/Scunthorpe_problem
即使您确实成功地完成了上述任务,球员也不是愚蠢的-他们会很容易在您的系统中找到一种方法来创建一个您不会抓到的同样具有攻击性的名称。
与仅仅查看最高分和禁止的小手工工作相比,您至少要增加更多的工作来保持这些规则的更新。
没错,但是很认真,这是一个儿童游戏-客户已经明确表示,冒犯性名字是不能容忍的。一定有东西!
如果真的是这样,那么您根本不能容忍冒犯性的名字。唯一可行的解决方案是不让您的玩家创建自己的名字。
这是在几乎所有儿童游戏网站(例如卡通网络)上都能找到的解决方案。
除了提供空白输入,您还可以选择预制的“名称零件”。例如:
将显示名称限制为诸如“ Awesome Pirate Master”之类的名称。
还要快速考虑您正在使用的单词列表。如果用户能够摆弄名字来获得听起来仍然令人反感或肮脏的东西,那么实施该系统毫无意义。
当然,也有可能重复比赛-但由于玩家人数少,您可以注销此记录(3个100个单词的列表,已经给出了100万个可能的名字),或者如果需要-您仍然可以检查注册时没有其他人的名字。
实际上,如果您严重担心坏名声,这可能是最有效的解决方案。但是您确实需要进行成本分析,并发现与简单的手动检查相比,即使制作该系统是否真的值得。