Tutti noi, compilando form su Internet, abbiamo a che fare con i cosiddetti CAPTCHA, magari senza sapere di cosa si tratta: CAPTCHA è l'acronimo di "completely automated public Turing test to tell computers and humans apart" (Test di Turing pubblico e completamente automatico per distinguere computer e umani). In parole semplici, un CAPTCHA è una di quelle immagini contenenti numeri e lettere colorate, "sbilenche" o con delle linee sopra, che devono essere digitate in una casella di test per poter effettuare il submit di un form
Come si legge su Wikipedia,
I captcha sono utilizzati per impedire che i bot utilizzino determinati servizi, come i forum, la registrazione presso siti, scrivere commenti e in generale tutte quello che potrebbe essere usato per creare spam o per violare la rete con operazioni di hacking come il brute force. Ultimamente questo tipo di test viene utilizzato anche per contrastare lo spam generato da bot obbligando il mittente, se non conosciuto dal destinatario, a superare un test captcha prima di consentire la consegna del messaggio.
Implementare un CAPTCHA in ASP .NET è relativamente semplice: l'algoritmo base richiede circa 30 righe di codice, come spiegato in questo post.