2009-06-05 10 views
22

Se si espongono stringhe o stringhe generate in modo casuale con i dati codificati in esse (codici Product Key). È irrazionale sanitarli per le parolacce per evitare che il cliente si offenda nel caso raro che venga generata una parola offensiva.È irrazionale disinfettare le stringhe di caratteri casuali per le parolacce?

Chiunque mai ha un cliente viene offeso da una parolaccia generata a caso? Qualcuno là fuori mai la logica del codice per filtrarli?

Grazie

Modifica

Una volta, dopo lo sviluppo di un sistema di generazione della chiave prodotto che avevano i dati dei clienti codificati in esso. Per scherzo, abbiamo scritto un programma per vedere quale input da parte del cliente generasse parole divertenti.

+3

A prima vista, questo suona sicuramente stupido. Che dire di un cliente offeso dal nome di un paese? Alcune persone non pensano che Israele debba esistere, e passano grandi dolori a dire "L'entità sionista" e cose del genere. Quanto in fondo a questa strada dovresti andare? Avete ulteriori informazioni su dove o come viene tracciata la linea? Sono le sette parole che non puoi pronunciare sulla lista della televisione? –

+2

Sarei curioso di sapere se esiste una procedura coerente per il controllo di combinazioni di lettere "oscene" su targhe. Sembra che potresti usare un algoritmo simile. –

+0

Le probabilità di generare casualmente una particolare parola di 4 lettere sono come 1 su mezzo milione. –

risposta

33

Non generare stringhe casuali con le vocali e quindi non devi preoccuparti di parolacce.

+2

Ottima idea.Dovrebbe funzionare anche nella maggior parte delle lingue. – Laserallan

+11

Anche se in genere sono d'accordo, potresti ancora finire con stringhe come "fck" o "fvck". Questo probabilmente rientra ancora in "non ottimizzare per i pazzi". – luke

+4

@luke: Sì, penso che questo metodo eliminerà le "vere" maledizioni. Immaginato o "un po 'sembra una parolaccia se si strizza davvero forte" le parole sono ancora il problema dell'utente :) – CloudyMusic

27

Sì, sulla base del fatto che chiunque sia offeso da qualcosa che ha visto in una stringa generata casualmente può pensare a più cose che ritiene offensive di quanto si possa disinfettare.

Non ottimizzare per il pazzo.

0

È certo concepibile, ma non dedicherei molto tempo ad esso, specialmente se hai lettere e numeri.

1

Limita le "parole" generate a caso a caratteri esadecimali e non credo che avrai maledizioni in lingua inglese. Questo ti spinge anche a non seguire troppo tempo nel tuo generatore di parole casuali.

Ovviamente, potrebbe esserci qualche lingua in cui è possibile imprecare con cifre esadecimali, ma in questo caso non è probabile che sappiate/filtri comunque quelle maledizioni.

+2

Bene, fecc e00 2. – chaos

+1

0xdeadbeef, 0xaffe (tedesco per "scimmia") . –

+5

manzo morto?!?! Come vegetariano sono ALTAMENTE offeso. – Aardvark

4

Questo ha senso per me. Voglio dire, sarebbe un disastro PR piuttosto male se qualcuno invia una foto del tuo prodotto, con questo stampata sul retro della custodia del CD:

12.345-67.890-F ** KU-ABCDE-FGHIJ

Sembra divertente ma non si sa mai quale senso dell'umorismo la persona avrà chi capita di ritirare quel pacchetto.

+0

Anche questo non è solo ipotetico. E 'davvero successo, con una bambola di cavolo patch: http://www.clickondetroit.com/news/4050844/detail.html –

+0

Sopra link rotto. Vedi https://web.archive.org/web/20090116040027/https://www.clickondetroit.com/news/4050844/detail.html – SophiaAP

1

Se si è solo preoccupati per le chiavi del prodotto, mi attenersi alle cifre esadecimali, forse anche un guid potrebbe funzionare per voi. Probabilmente nessuna possibilità di generare una parola "cattiva" con questi vincoli. Potresti anche limitarti ai numeri. Se è necessario disporre di stringhe casuali con tutte le lettere dell'alfabeto, è probabilmente meglio prevenire che curare quindi farei il filtraggio.

+0

Dalla mia infanzia -> 1134 40 – EvilTeach

+0

Oh diavolo, i 4 non rendono come deve essere. – EvilTeach

2

vede questi punti contrassegnati con clbuttic

+0

Accidenti, qualcuno ha ucciso quei tag, prova una ricerca: http://stackoverflow.com/search?q=clbuttic –

0

sto usando generato in modo casuale, le password fonetici dal suono di una webapp che ho scritto. Ho finito con l'hard-coding di un elenco di parole "sporche" che non sono accettabili, ma la lista che corrispondeva al mio modello è risultata piuttosto breve.

0

No. Non hai alcuna possibilità di raccogliere tutte le parolacce in tutte le lingue del mondo. Quelle parole di solito non compaiono nei dizionari.

+1

Un buon dizionario includerà colloquialismi e gergo. L'OED include certamente giuramenti e tutti i tipi di sporcizia che i miei antenati si vergognerebbero di ammettere di aver fatto su base settimanale. –

6

La soluzione più semplice è quella di generare da un alfabeto "igienizzato"; usa una serie di caratteri che non possono formare parole.Un suggerimento in una delle risposte è esadecimale che è una scelta eccellente, o altrimenti rilascia alcune lettere critiche dall'alfabeto.

Si noti che non è sufficiente eseguire le vocali per eseguire le operazioni vocali ... è fin troppo facile dedurli dalle consonanti rimanenti.

2

Penso che sia meglio evitare chiaramente le vocali. Un codice prodotto come JKL-YOUAREMYFRIEND-0001-KK potrebbe non essere offensivo, ma non sembra neanche un business serio.

1

Stiamo usando un generatore di stringa casuale per una chiave di sicurezza che verrà inviata ai clienti, e ha fatto non omettere vocali dai caratteri consentiti, ecc Nessuna parola di una bugia, una delle stringhe ha generato era " 7D9WAF * CKS "...! Fortunatamente, questo è stato scoperto durante lo sviluppo e ora stiamo per limitare i caratteri consentiti. Wow !! Quello era uno stretto - felice di aver trovato questo post!

1

Un molto divertente tale of woe da leggere con una situazione simile a voi.

2

Microsoft omette il seguente dalle loro chiavi di prodotto:

0 1 2 5 A E I O U L N S Z

Tralascio quelli di [0-9A-Z], e una volta che si genera la chiave, mi partita contro a list I found di combinazioni di due lettere più comune in inglese e rigenerare la chiave se c'è una corrispondenza. Per velocizzare, modifico l'elenco di coppie di lettere selezionando prima da quella lista le coppie che sono già state prevenute a causa della loro inclusione di un personaggio nella lista spogliata ("HE" non può esistere se la chiave è generata da un set di caratteri che non include 'E'), quindi converti alcuni da 'E' a '3', come in 'H3' invece di 'HE', ecc. Ho aggiunto anche alcuni dei miei, come 'KK' e ' CK 'per casi limite. Si potrebbe anche omettere '3' per la velocità, se necessario, anche se è possibile generare più caratteri che si omettono.

Probabilmente non è una soluzione perfetta, ma è abbastanza veloce per le mie esigenze e impedisce a quasi tutte le parole inglesi di essere generate, offensive o meno.

Problemi correlati