PiumaLab

Idee, esperimenti, tentativi e molto altro

Alla ricerca del CAPTCHA perfetto

Un CAPTCHA, "completely automated public Turing test to tell computers and humans apart", è un test in grado di determinare se l'utente sia effettivamente

umano e non un computer. Questi metodi vengono utilizzati per impedire che i bot utilizzino dei servizi come scrivere commenti o riempire form. L'uso dei captcha risulta essere indispensabile per evitare il proliferare dello spam.

Come si giudica un buon captcha

Molti di voi penseranno che un buon captcha sia quello più difficile da risolvere. Così da rendere la vita difficile agli algoritmi. Per quelli di tipo visuale esistono infatti algoritmi in grado di convertire un immagine in un testo chiamati Optical Character Recognition.

Io credo che le caratteristiche che rendano un captcha buono siano altre, come l'accessibilità, la facile comprensione da parte di un umano, la possibilità di essere generati in modo automatico e allo stesso tempo abbastanza complesso da risultare impossibile da risolvere da parte di algoritmi anche basati su intelligenza artificiale.


La sfida che mi sono posto è quella di poter realizzare un unico captcha che ha queste caratteristiche. Perché dico unico, perché sempre più spesso i siti utilizzano più di un metodo di autenticazione in parallelo come un captcha visuale affiancato da uno sonoro. Dopo che si sono accorti che uno di essi o entrambi non risultano efficaci.

L'accessibilità

Per anni i captcha visivi sono stati responsabili di una grave discriminazione ai danni di chiunque avesse problemi di vista. La loro esistenza ha reso inaccessibili milioni di siti che li hanno adottati come difesa dagli spammer, frapponendo una barriera, che ormai tutti consideravano insuperabile, tra l’utente e il servizio in rete.

Nulla sono valse le petizioni on line contro questo tipo di captcha, che continuano indisturbatamente a proliferare nel web. Inoltre le nuove generazioni di captcha, create per resistere ai più sofisticati programmi di riconoscimento di testi, possono essere molto difficili o impossibili per molti utenti, anche nel pieno possesso della propria capacità visiva.

Proprio per questo motivo il captcha perfetto non dovrà essere né visuale né di tipo uditivo.

Generazione automatica

La soluzione è quella di adottare metodi testuali. Ma non sempre è possibile. Domande come: Di che colore era il cavallo bianco di Napoleone? oppure Qual'è il risultato di due per sette? Risultano essere ottime per quanto riguarda l'accessibilità, la comprensione da parte dell'uomo e la difficoltà di essere risolti da parte di programmi.

Il loro unico problema è l'impossibilità di poter generare automaticamente queste domande rendendo questo metodo praticamente inutilizzabile.

Facile da risolvere per gli utenti

Non sempre i metodi utilizzati risultano essere di facile risoluzione per gli utenti, potete vedere in figura un form per la registrazione alquanto difficile.

hard captcha

hard captcha

Un buon captcha

Leggendo queste righe vi sarete resi conto di quanto sia difficile conciliare l'efficacia e la facilità di utilizzo di un buon metodo per proteggere le proprie risorse. Per questo motivo ho deciso di svilupparne io stesso uno, che, non sarà certo il captcha perfetto ma diciamo che le sue caratteristiche sono molto buone.

Si tratta di un captcha testuale, semplice da generare automaticamente, e facile da risolvere per gli utenti. Il lavoro più duro non è stata l'implementazione ma come spesso accade è stata la ricerca dell'idea giusta.

L'idea è quella di prendere una parola abbastanza lunga e scambiare la posizione di due lettere diverse. L'utente dovrà correggere la parola scritta in modo errato.

captcha

L'uso di questo metodo è stato impiegato nel sito musici nella sezione utilizzata per richiedere informazioni.

L'unica carenza di questo metodo è che con un semplice algoritmo è possibile risolverlo. Ma sono anche convinto che non è necessario utilizzare una cassaforte per proteggere pochi spiccioli. Quindi in attesa di trovare un idea migliore e riuscire finalmente a porre fine alla ricerca del captcha perfetto continuerò ad utilizzare e consiglirvi questo metodo.

Leave a Reply

Your email address will not be published. Required fields are marked *