reCAPTCHA, Fermare Lo Spam Leggendo Libri

Navigando su internet mi sono imbattuto in reCAPTCHA, uno strumento che consente di inserire all’interno del proprio sito un box per verificare che chi scrive un commento o vuole registrarsi ad un servizio online sia effettivamente umano, e non un programma automatico.

In realtà però reCAPTCHA è qualcosa di più: utilizzando il piccolo controllo, disponibile come plugin per molti linguaggi di programmazione come PHP e ASP.Net e per piattaforme come WordPress e phpBB, è possibile aiutare la digitalizzazione di testi antichi, in particolare quelli di Internet Archive. Infatti nel form di verifica sono presenti due parole da identificare: una delle due è stata letta correttamente da un programma OCR sulla pagina di un libro, mentre l’altra è di interpretazione incerta.

Esempio di reCAPTCHA

Identificando correttamente la prima, il software reCAPTCHA riterrà molto probabile che abbiate indovinato anche la seconda. Non appena la parola incerta sarà stata identificata correttamente da un certo numero di persone, questa verrà considerata sicura ed aggiunta al rispettivo elenco.

Il plugin per ASP.Net, si compone di una libreria da inserire all’interno del proprio progetto. All’interno della libreria è presente un controllo personalizzato che è possibile utilizzare direttamente nelle nostre pagine:

<%@ Register TagPrefix="recaptcha" Namespace="Recaptcha" Assembly="Recaptcha" %>
<recaptcha:RecaptchaControl
  ID="recaptcha"
  runat="server"
  PublicKey=""
  PrivateKey=""
  />

Per sapere se l’utente ha passato il test è sufficiente utilizzare la proprietà IsValid dell’oggetto Page:

If Page.IsValid Then
	lblResult.Text = "You Got It!"
	lblResult.ForeColor = Drawing.Color.Green
Else
	lblResult.Text = "Incorrect"
	lblResult.ForeColor = Drawing.Color.Red
End If

(Gli esempi sono tratti dal sito ufficiale.)

Il servizio tuttavia presenta anche qualche problema: le parole sono solo in lingua inglese e molte volte sono talmente difficili da indovinare che sarà necessario aggiornare l’immagine fino a trovarne una più semplice, come mostrato nell’immagine.

reCAPTCHA troppo difficile

In generale comunque mi sembra un ottimo sistema per proteggersi dallo spam e dare, senza nessuno sforzo aggiuntivo, un contributo alla digitalizzazione dei libri.