Disinfetta una tabella con punteggio elevato per rimuovere termini / nomi utente offensivi


43

Sto creando un'app per un cliente, che ha richiesto di avere una tabella dei punteggi più alta pubblicamente visibile. Mostrerà il loro nome utente, che è un campo di testo libero che i giocatori possono inserire. È probabile che il conteggio dei giocatori sia estremamente basso - mi aspetto 10 o 100 al giorno al massimo.

Il campo del nome utente sarà più lungo di 3 caratteri. I nomi verranno associati agli account Firebase Auth, ma questi vengono creati tramite l'app, non legati a qualcosa come Google Play o un account Facebook o qualcosa del genere. Penso che andranno bene con la cancellazione di nomi ovviamente offensivi, ma non avranno enormi risorse dedicate alla moderazione manuale.

Quando ero un ragazzo giovane, il 100% delle tabelle dei punteggi migliori del mio gabinetto arcade locale consisteva in un mucchio di parolacce e termini offensivi (o variazioni di tali parole).

Non riesco a immaginare che Internet abbia migliorato le cose.

Come posso disinfettare i nomi utente per renderli sicuri per la visualizzazione?


10
Il cliente desidera sanificare i nomi utente? In caso contrario, non è davvero il tuo problema al momento.
MonkeyZeus

5
Primi pensieri: - Avvisa il cliente di questo pericolo, chiedi se vogliono spendere soldi per il tuo tempo per gestirlo. - Chiedi al cliente di fornirti un elenco di termini non consentiti da cancellare. - Onestamente, questo è un campo minato. Chiedi se vogliono che sia pubblico.
AJFaraday,


4
Non esattamente la stessa cosa, ma abbastanza simile: Filtri di oscenità: cattiva idea o cattiva idea con cattive sensazioni?
Gary,

3
Le emoticon sono consentite? Come verrà visualizzato il tabellone segnapunti? Posso asciugare a secco dopo aver trovato il modo di inserire il punteggio nel tuo tabellone? Posso inserire Url come nome ("XYZ.com", "XYZ_Com", "XYZ_Dot_Com")?
xdtTransform

Risposte:


73

Ti consiglio di lasciare che il client lo faccia manualmente.

Dal punto di vista dei costi, questa volta hai fortuna dalla tua parte:

  • Non ti aspetti più di 100 utenti / giorno, probabilmente solo 10 / giorno
  • Hai un sistema di autenticazione, il che significa che i divieti possono essere permanenti
  • Hai un client che è felice di cancellare i nomi (raramente)

La realtà è che i 10 minuti che ci vorranno affinché qualcuno guardino le migliori classifiche e vietino qualsiasi nome estremo - saranno semplicemente più economici e più affidabili di quanto tu passi del tempo in una soluzione ingegneristica (che avrà problemi).

Con un numero di giocatori così basso, è improbabile che ciò debba essere fatto spesso - anche una volta alla settimana durante il picco sarà probabilmente sufficiente.


Ma ho un sacco di tempo, posso fare qualcosa di giusto?

Sbagliato.

Puoi facilmente fare qualcosa di sbagliato, che è più dannoso per il marchio del cliente che non fare nulla.

Vuoi usare Regex per catturare tutti i nomi cattivi? Spero che tu abbia capito bene, e anche filtrare tutti i falsi positivi da più database di nomi di persone reali internazionali:

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

E anche se gestisci con successo quanto sopra, i giocatori non sono stupidi: troveranno molto facilmente un modo per aggirare il tuo sistema per creare un nome altrettanto offensivo che non stai catturando.

Come minimo, hai appena aggiunto ancora più lavoro per mantenere aggiornate queste regole, rispetto al piccolo lavoro manuale di solo guardare i punteggi più alti e vietare.


No, ma sul serio, questo è un gioco per bambini: il cliente ha chiarito che NON può esserci TOLLERANZA per i nomi offensivi. Deve esserci qualcosa!

Se questo è onestamente il caso, e non puoi tollerare affatto nomi offensivi. L'unica soluzione realistica è semplicemente quella di non lasciare che i tuoi giocatori creino i propri nomi.

Questa è la soluzione che troverai su quasi tutti i siti Web di giochi per bambini, come Cartoon Network.

Invece di dare un input vuoto, si dà una selezione di "parti del nome" premade. Per esempio:

  • Un aggettivo, come "Fantastico", "Fantastico", "Astuzia"

  • Un mezzo, come "Bearded", "Laser-eye", "Pirate"

  • Un sostantivo, come "Master", "Winner", "Detector"

Il che limita i nomi visualizzati a cose come "Awesome Pirate Master".

Dai anche una rapida considerazione delle liste di parole che stai usando. Non ha senso implementare questo sistema se l'utente è in grado di modificare i nomi per ottenere cose che sembrano ancora offensive o sporche.

Certo, c'è la possibilità anche per i duplicati, ma puoi scriverlo (3 elenchi di 100 parole, già danno 1 milione di nomi possibili) a causa del numero di giocatori che hai, o se necessario, puoi comunque verificare che nessun altro ha il nome al momento della registrazione.

Realisticamente, questa potrebbe essere la soluzione più efficace se sei seriamente preoccupato per i nomi cattivi. Ma devi fare un'analisi dei costi e scoprire se anche realizzare questo sistema vale davvero la pena rispetto ai semplici controlli manuali.


25
Mi piace questa risposta, perché "non automatizzare qualcosa fino a quando non ne saprai di più sul problema" è quasi sempre stata la cosa giusta da fare nella mia esperienza.
NeilD

5
Mi ricorda l'universo Lego e il rilevamento del pene.
n.

7
Un bambino di 4 anni aveva avuto accesso a uno dei miei giochi per console in cui puoi creare personaggi. Quella slot di salvataggio era piena di cacca, culo, pipì, ecc. Ecc. I bambini lo fanno e ridono molto ...
Nelson,


4
"Ma no, sul serio, questo è un gioco per bambini." Hai sentito parlare di Lego Universe? Neanche Lego potrebbe costruire un rilevatore di pene . Parti del nome: "Pirata linguista astuto".
Draco18s

7

Una piccola base di utenti probabilmente non è sufficiente per sminuire la facilità di implementazione di una lista nera. Esistono molte librerie e / o elenchi di parole come quelli qui citati che possono permetterti di controllare semplicemente i nomi utente rispetto a ciò che ritieni inappropriato.

Se hai deciso di provare il tuo elenco, probabilmente vorrai utilizzare regexper filtrare i nomi.

Come sottolinea Bilkokuya , potrebbero esserci problemi con i nomi legittimi che vengono inseriti nella lista nera. Questa è una decisione aziendale da prendere per il tuo cliente , ma di cui puoi / dovresti renderlo consapevole. Non sono a conoscenza di alcun modo per aggirare l'aspetto culturale, tranne per il fatto che se ti aspetti un gran numero di utenti da culture in cui ciò potrebbe costituire un problema, potresti voler implementare un filtro specifico per regione.

Motivi per implementare una qualche forma di filtro (oltre ai controlli manuali):

  • Facilità di implementazione. Probabilmente non ci vorrà più di un'ora per far funzionare qualcosa .

  • Un deterrente per i burloni meno dedicati.

  • Consente il controllo al momento della registrazione, riducendo la possibilità che raggiungano anche la tabella dei punteggi più alti.

  • Funziona con controlli manuali.

  • Visto che è un vecchio problema, dovrebbero esserci molte risorse disponibili.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.