venerdì 26 giugno 2009

Google Kaptcha

Nell'ambito dell'informatica con il termine captcha ("Completely Automated Public Turing test to tell Computers and Humans Apart") si intende un test volto a determinare se l'utente di un sistema informatico è un umano o un computer (comunemente detto 'bot'). Un test captcha tipicamente utilizzato è quello in cui si richiede ad un utente di scrivere quali siano le lettere o numeri presenti in una sequenza di lettere o numeri che appaiono distorti o offuscati sullo schermo (operaizone difficile, anche se non impossibile, per un bot).



Nello sviluppo di un applicazione web può essere utile prevedere un test captcha per esempio quando si vuole evitare che un sistema automatico crei degli account fittizzi per un sistema informatico riempendo delle form attraverso un bot.
Google mette a disposizione degli sviluppatori WEB java (JSP) delle librerie pronte all'uso che implementano un meccanismo di captcha. L'uso basico di tali librerie è molto semplice:
  1. occorre innanzitutto aggiungere delle librerie all'applicazione web, nella cartella WEB-INF/lib del file .war, 
  2. inserire all'interno della form un tag <img src="..."> il cui valore src matcha con l'url-pattern relativo alla servlet com.google.code.kaptcha.servlet.KaptchaServlet definito nel web.xml
  3. creare un riferimento alla servlet kaptcha nel descrittore web.xml,
  4. controllare, all'interno della servlet che gestisce i valori inviati con la form, che il valore captcha generato e messo all'interno della sessione web corrisponda con il valore inviato attraverso la form.

E' possbile aumentare la complessita dell'immagine generata settando opportunamente alcuni parametri (http://code.google.com/p/kaptcha/wiki/ConfigParameters) nel file web.xml:


URL correlati:
http://code.google.com/p/kaptcha/wiki/HowToUse

Nessun commento: