Chi di voi non si trova spesso a dover sbattere la testa contro la tastiera di fronte all’ennesimo errore nella comiplazione di un codice CAPTCHA per inoltrare un form di contatto, un commento in un blog o effettuare la banalissima registrazione ad un portale?
Personalmente riesco ad effettuare un numero impressionante di errori, in alcuni casi talmente tanti da vedermi costretto a desistere dal mio intento! Questo visto dal lato utente è davvero frustrante ma se lo vediamo dal punto di vista del Webmaster è devastante, significa vedere aumentato a dismisura il tasso di rimbalzo da parte degli utenti quando si trovano di fronte a quel dannato codice CAPCHA. Allo stesso tempo non è però possibile rinunciare a cuor leggero ad esso in quanto ci protegge da numerosi pericoli che ogni giorno sono in agguato per compromettere sicurezza e qualità del nostro sito web. Che fare? Esistono delle valide alternative al codice CAPTCHA che offrano una buona semplicità d’uso per l’utente e garantiscano un buon livello di sicurezza?
Perché si usa un codice CAPTCHA
Partiamo dalla genesi, CAPTCHA è l’acronimo di Completely Automated public Turing test to tell Computers and Humans Apart , in poche parole è un sistema che fornisce una prova al sistema che l’interlocutore che si trova di fronte al terminale è una persona umana. Nella fattispecie nel caso di questi codici viene chiesto all’utente di identificare una stringa di testo generata random e di riscriverla in un apposito campo. La sua utilità è quindi principalmente quella di difendere i siti web da degli attacchi automatizzati finalizzati principalmente ad una serie di scopi fa cui:
- Compromettere la sicurezza di un sito tramite l’immissione di codici malevoli.
- Accedere ad informazioni private.
- Inserire pubblicità su ampia scala tramite commenti o sistemi analoghi (es spam).
- Manipolare il sistema di votazione all’interno di un sito.
Per fare fronte a queste ed altre minacce spesso ci si trova a ricorrere a vari sistemi che impediscono o limitano fortemente l’accesso da parte di spam bots a questi contenuti. Il metodo che fino ad oggi è più utilizzato è appunto l’implementazione del codice CAPTCHA testuale nelle sue varie forme (la più famosa è reCAPTCHA di Google). La problematica che presto è sorta è però che utilizzando delle stringhe di testo brevi e di facile comprensione e trascrizione la percentuale di attacchi neutralizzati diminuisce drasticamente, ciò costringe quindi all’implementazione di testi complessi e più lunghi. Morale della favola? Spesso anche l’utente umano si trova in grave difficoltà a sapere individuare correttamente le lettere del testo e incappa in un immancabile errore nella compilazione del codice per sua somma frustrazione.
Esistono alternative al codice CAPTCHA?
Si, esistono delle alternative al codice CAPTCHA, è da capire però quli di queste forniscono una valida alternativa e un buon compromesso tra user experience e sicurezza. Andiamo a vederne alcune!
Disqus o login con account social
Un eccellente metodo da implementare nei commenti o nei login è quello di consentire l’accesso agli utenti con il proprio account social, ciò consente da una parte una semplicità di accesso all’utente e dall’altra un ottimo livello di sicurezza. Questo sisitema può essere implementato con relativa facilità in un sito web utilizzando i vari Facebook Connect, Sign in with Twitter oppure un sistema integrato come Janrain. Il dilemma che scatena l’utilizzo di questi sistemi di identificazione ovviamente è sempre lo stesso… e la nostra privacy?? mi verrebbe da rispondere che probabilmente se ne è andata da un pezzo… però è sempre lecito porsi questo quesito prima di optare per una soluzione rispetto ad un’altra.
Un sistema di commenti molto in voga alternativo a quello del social connect è quello di disqus, risulta davvero semplice da integrare ma allo stesso tempo garantisce una buona user experience. Per chi fosse interessato sulla procedura da seguire per integrare disqus sul proprio sito wordpress mi permetto di indicare l’articolo qui su webhouse.
Sistema di rilevamento SPAM automatici o manuali
Esistono dei sitemi automatizzzati server-side che analizzano i dati inseriti dall’utente nei commenti, li analizzano confrontandoli con un database e li flaggano come spam in modo automatico: esistono numerosi servizi di questo tipo, cito ad esempio Akismet, Mollom o STOPforumSPAM, il loro unico problema è che la loro efficacia non è al 100% nel bene o nel male, spesso richiede quindi di effettuare una moderazione manuale nei commenti per evitare brutte sorprese.
Metodo HoneyPot
Il metodo consiste nell’inserire nel form un campo nascosto all’utente; così facendo tutti i form inoltrati con questo ultimo campo compilato potranno essere considerati come spam in quanto un utente umano non potrebbe vederli sul proprio monitor. Semplice ed accattivante come idea, soprattutto se coadiuvata dall’implementazione del javascript e di controlli server-side. Questo sistema ingegnoso che risale al lontano 2007 ha evidenzato con il passare del tempo una maggiore vulnerabilità anche se a volte può essere utile per complicare la vita ai vari spam bots.
AreyouaHuman, Qaptcha e riconoscimento immagini, alcune soluzioni di CAPTCHA non testuale
Nei giorni scorsi sono incappato in un’interessante soluzione non testuale, si tratta di AreYouaHuman ed effettua la verifica non attraverso la trascrizione di un codice testuale bensì tramite l’esecuzione di un semplice giochino. L’inventore di questo sistema sostiene che la sua semplicità d’uso e il suo metodo di verifica accattivante possono portare ad un tasso di conversione fino al 60% superiore a quello dei moduli CAPTCHA testuali. Playthru è un sistema relativamente recente, si adatta perfettamente al mobile ed è integrabile molto facilmente alla maggior parte dei CMS sul mercato tramite l’ausilio di un semplice plugin.
La soluzione proposta di superare il CAPTCHA con un giochino appare accattivante anche se a volte può essere accolta poco favorevolmente dall’utente, alcuni giochini inoltre possono risultare a tratti un po’ cervellotici e frustranti; questa soluzione rappresenta un’ alternativa ai CAPTCHA testuali ,un qualcosa di diverso che attira maggiormente l’attenzione da parte dell’utente sorattutto qualora il layout del sito in cui viene integrato trovi una concordanza con lo stile giocoso di questo modulo.
Un secondo sistema che volevo citare si rifa in pieno allo stile Apple, si tratta di Slide to Unlock Qaptcha e richiama la lockscreen del melafonino in quanto il sistema di sblocco richiede di effettuare un semplice slide di una barra posta all’interno del form . Il sistema di verifica è stato sviluppato in JavaScript, purtroppo la sua semplicità d’uso nasconde come è facile intuire un elevato tasso di vulnerabilità in quanto può essere aggirato da uno script in modo piuttosto semplice e difficilmente può essere reso più sicuro (vi invito a seguire questa discussione in merito).
Esistono infine dei sistemi di Image o Face Recognition, un esempio è IdentiPIC che si basano sul criterio di associazione di immagini a concetti; questo metodo consente di aggirare il problema della leggibilità anche se di fatto risulta tutto da dimostrare che la soluzione rappresenti una valida alternativa in termini di user experience. Se volete approfondire questo metodo trovate questo articolo interessante che ne parla.
Il Miglior CAPTCHA è il buon senso
Dopo questa breve carrellata possiamo giungere alle conclusioni, in particolare provare a rispondere al quesito iniziale ovvero :
Qual è la migliore soluzione che garantisce una buon compromesso fra facilità d’utilizzo e sicurezza?
La risposta che mi sento di darvi è che probabilmente nessun sistema automatico da solo sarà in grado di darvi dei risultati davvero validi e che in ultima istanza dovrà intervenire il webmaster tramite moderazione e manutenzione del sito per evitare brutte sorprese. Si perchè ognuno dei sistemi sopracitati è vulnerabile, qualcuno più facilmente, qualcuno più difficilmente ma sempre vulnerabili sono, non aspettatevi quindi di poter demandare ad essi la sicurezza del vostro sito al 100%.
Detto questo nel caso dei commenti e login ho trovato molto efficace il sistema social connect che oltretutto incrementa le potenzialità nella gestione dei contenuti incrementandone la diffusione virale.
In generale è importante studiare una soluzione caso per caso a volte facendo dei tentativi e cercando di comprendere se la mancata interazione da parte degli utenti nei commenti o una scarsa compilazione di un form di contatto è realmente causata solamente causata dalla presenza di un codice CAPTCHA o se le cause reali sono anche altre (form troppo lungo? argomento trattato poco interessante??).
In definitiva probabilmente considerata la panoramica delle alternative credo che ci troveremo a combattere ancora con dei CAPTCHA testuali per un po’ di tempo, magari un po’ meno rispetto al passato.
E voi quali soluzioni avete adottato per il vostro sito web?