清除高分表以删除令人反感的字词/用户名


43

我正在为客户构建一个应用程序,他们要求他们提供一个公开可见的高分表。它将显示其用户名,这是玩家可以输入的自由文本字段。玩家人数可能极少-我希望最多每天10s或100s。

用户名字段将超过3个字符。这些名称将绑定到Firebase Auth帐户,但这些名称是通过该应用程序创建的,而不是与Google Play或Facebook帐户之类的名称相关联。我认为他们可以删除明显令人反感的名字,但是他们不会有大量资源用于人工审核。

当我还是个小伙子的时候,我当地的拱廊橱柜高分表中的100%由一堆脏话和冒犯性词语(或此类词语的变体)组成。

我无法想象互联网已经完全改善了问题。

如何清理用户名以使其安全显示?


10
客户是否希望清理用户名?如果不是这样,那么到目前为止,这实际上不是您的问题。
MonkeyZeus

5
首先想到的是:-提醒客户这种危险,询问他们是否愿意花时间在处理上。-要求客户给您列出禁止使用的字词清单。-老实说,这是一个雷区。询问他们是否完全希望公开。
AJFaraday

4
另请参阅:Scunthorp问题
Draco18s


3
允许图释吗?计分板将如何显示?一旦找到在比分板上输入比分的方法,我可以抽奖吗?我可以输入Url作为名称(“ XYZ.com”,“ XYZ_Com”,“ XYZ_Dot_Com”)吗?
xdtTransform

Answers:


73

我建议您只让客户端手动执行。

从成本角度来看,这次您很幸运:

  • 您期望每天不超过100个用户,可能低至每天10个用户
  • 您具有身份验证系统,这意味着禁令可能是永久性的
  • 您的客户端很乐意(不经常)删除姓名

现实是,某人花10分钟查看最高的排行榜并禁止任何极端的名字-比您花时间在工程解决方案上(这会出问题)更便宜,更可靠。

由于玩家数量如此之低,因此不太可能需要经常执行此操作-即使在高峰期每周一次也足够了。


但是我有很多时间,我可以做些正确的事情吗?

错误。

您可以很容易地做错什么,比什么都不做更对客户的品牌造成损害。

是否想使用正则表达式来捕获所有不良名称?希望您能完全正确地做到这一点,并从多个国际真实姓名数据库中过滤掉所有假阳性:

https://zh.wikipedia.org/wiki/Scunthorpe_problem

即使您确实成功地完成了上述任务,球员也不是愚蠢的-他们会很容易在您的系统中找到一种方法来创建一个您不会抓到的同样具有攻击性的名称。

与仅仅查看最高分和禁止的小手工工作相比,您至少要增加更多的工作来保持这些规则的更新。


没错,但是很认真,这是一个儿童游戏-客户已经明确表示,冒犯性名字是不能容忍的。一定有东西!

如果真的是这样,那么您根本不能容忍冒犯性的名字。唯一可行的解​​决方案是不让您的玩家创建自己的名字。

这是在几乎所有儿童游戏网站(例如卡通网络)上都能找到的解决方案。

除了提供空白输入,您还可以选择预制的“名称零件”。例如:

  • 形容词,例如“ Awesome”,“ Fantastic”,“ Cunning”

  • 中间,例如“胡须”,“激光眼”,“海盗”

  • 名词,例如“ Master”,“ Winner”,“ Detector”

将显示名称限制为诸如“ Awesome Pirate Master”之类的名称。

还要快速考虑您正在使用的单词列表。如果用户能够摆弄名字来获得听起来仍然令人反感或肮脏的东西,那么实施该系统毫无意义。

当然,也有可能重复比赛-但由于玩家人数少,您可以注销此记录(3个100个单词的列表,已经给出了100万个可能的名字),或者如果需要-您仍然可以检查注册时没有其他人的名字。

实际上,如果您严重担心坏名声,这可能是最有效的解决方案。但是您确实需要进行成本分析,并发现与简单的手动检查相比,即使制作该系统是否真的值得。


25
我喜欢这个答案,因为根据我的经验,“直到您对问题有更多了解之前,不要自动化某些事情”。
NeilD

5
让我想起了乐高宇宙和阴茎检测。
n0rd

7
4岁的孩子可以使用我的一款主机游戏来创建角色。这个保存位置充满了便便,流浪汉,尿尿等,孩子们这样做了,笑了很多……
尼尔森


4
“但是不,严重的是,这是一个儿童游戏。” 您听说过乐高宇宙吗?甚至乐高都无法制造阴茎检测器。名称部分:“狡猾的语言学家海盗”。
Draco18s

7

少量的用户群可能不足以降低实施黑名单的难度。有许多库和/或单词列表,例如此处引用的库和/或单词列表,可让您简单地检查用户名与您认为不适当的内容。

如果决定尝试使用自己的列表,则可能要使用它regex来过滤名称。

正如Bilkokuya指出的那样,合法名称可能会被列入黑名单。这是您的客户要做出的一项业务决策,但您可以/应该使他们知道这一点。我不知道有什么方法可以解决文化问题,除非您期望来自文化的大量用户(可能是一个问题),您可能希望实施针对特定地区的过滤。

实施某种形式的过滤的原因(除了手动检查):

  • 易于实施。可能不会需要超过一个小时得到的东西去。

  • 威慑较少的恶作剧者。

  • 允许在注册时进行检查,从而降低了他们甚至到达高分表的机会。

  • 适用手动检查。

  • 看到这是一个老问题,应该有许多可用资源。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.