Originariamente inviato da daniele_dll
scusami, ma non c'entra proprio assolutamente nulla -.-'
un captcha (completely automated turing test to tell computers and humans apart) è un test infatti anche il semplice porre la domanda è un test.
I test "visuali" fino ad adesso implementati sono stati "utili" per sviluppare un software in grado di decodificare il contenuto era possibile ma complesso però grazie all'evolversi delle tecnologie (ad esempio nel 2006 la intel ha rilasciato una libreria avanzatissima per il computer vision tanto che su quella tecnologia, gratuita, sono stati rilasciati software in grado di analizzare elementi visivi in tempo reale tramite webcam o telecamera) sia hardware che software (oggi basta avere un dual core o un quad core, che vendono a prezzi più che accessibili ed anche una rete neurale mal scritta è in grado di risolvere il problema) è diventato estremamente facile effettuare OCR avanzati.
Detto questo ... un CAPTCHA visuale non è detto che abbia solo un algorittimo di deformazione ... ve ne può stare uno per lettera ad esempio o uno per segmento ... ma il software che fa l'ocr non ha bisogno di risolvere l'algorittimo per "leggere" il testo cosi come non lo faccio io ... per questo tipo di software si utilizzano le reti neurali a N entrate ed M uscite (un uscita può rispondere con SI/NO ergo un bit) motivo per il quale una volta addestrata la rete neurale le lettere ed i numeri li riconosce anche se estremamente deformati
il fatto che non esiste il metodo "perfetto" lo si sapeva già, il forum è pieno di queste discussioni ... qui avviamo cercato per lo più il metodo più accessibile, con la minor richiesta di risorse
la mia proposta infatti era di mescolare tipologie di domande diverse (domande "retoriche", operazioni matematiche banali, lettere presenti in parole recuperate da un dizionario, costruzione casuale di domande sulle date) in modo da ottenere una certa "varietà" che impedisse ad una persona di scrivere tutte le possibili domande a manina e che gli complicasse abbastanza la vita per scrivere un bot.
se io ti scrivo:
quante lettere c sono presenti nella parola ciao?
o
la lettera c quante volte si ripete nella parola ciao?
o ancora
la parola ciao quante c contiene?
o ancora
quante volte c sta dentro ciao?
e si potrebberò trovare ancora altre forme
quindi abbiamo 4 combinazioni qui ... altre 8 per le matematiche ad esempio ... poi ci sono le domande retoriche ... ed infine le domande casuali sulle date che sono le più divertenti perché si ci può sbizzarrire con la creazione di domande casuali sul giorno, sulla settimana, sul mese, sui weekend, sulle festività e cosi via
a questo punto una persona che deve scrivere un bot deve mettere giù un bel pò di espressioni regolari che gli fanno perdere parecchio tempo ... tempo che spende da qualche altra parte se ha troppe difficoltà ... tranne che pagato e li non c'è che fare.
ma se al captcha testuale si aggiunge un sistema di controllo della velocità di esecuzione delle domande, ad esempio se viene richiesta più di una domanda nell'arco di, che so, 2 secondi, o 5 secondi ... si prende e si banna l'ip per 6 ore
mettendo insieme questa trafila di cose si risolve il problema si tampona in buona parte
---
alternativamente si potrebbe anche presentare un mix di captcha testuali, visivi e auditivi (giusto per completare il mix) però uccidendo completamente l'accessibilità