Server Locale PHP - PHP-CAR.SPECIALI - un editor - JQuery - CAPTCHA - HOME - Contatti - Osteoporosi - Radioactivity
CAPTCHA con immagini
Per evitare abusi da parte dei vari programmi robots, si cerca di creare nei form un campo che sia compilabile solo da un umano. Generalmente si usa un codice con lettere e cifre grafiche spesso ruotate, sfuocate, distorte, confuse da linee colorate, punti, eccetera.
Questo sistema si chiama CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart, ovvero Test di Turing pubblico e completamente automatico per distinguere computer e umani).

Mia proposta di CAPTCHA con immagini
Recentemente ho visto su qualche sito un captcha molto carino, con varie immagini di fiori od animali ed il suggerimento di cliccare su un particolare gruppo di cui una immagine fa parte.
Ho provato a realizzarlo e vi presento qui il risultato.
Ho scelto sei animali con i relativi gruppi zoologici di appartenenza (equini, uccelli, felini, ecc..)
Il codice richiede un minimo di Javascript e funziona così:
Oltre ai campi del modulo, che qui non ci interessano, vi è il campo captcha con le foto di sei animali.
Viene deciso in modo random quale sarà il gruppo relativo all'immagine da cliccare, scegliendolo dall'array $typ. Questo indice dell'array viene memorizzato nel campo nascosto 'valoreok'.
Quando l'utente clicca sull'immagine del tipo di animale richiesto, al click sull'immagine viene attivata la semplice funzione allerta() a cui viene inviato l'indice dell'array corrispondente alla figura scelta. La funzione memorizza l'indice nel campo nascosto 'result'.
Quando l'utente invia il form, dopo avere compilato sia i campi specifici del modulo che scelta l'iimagine richiesta dal captcha, viene eseguito un controllo sulle due variabili $_POST['valoreok'] e $_POST['result'] dopo averle filtrate con htmlentities per evitare eventuale codice malizioso introdotto dall'utente (guai a fidarsi dei dati che vengono da fuori!!!).
Se i due valori sono uguali, allora vengono presentati i dati introdotti ed anch'essi filtrati.
In caso contrario viene generato un messaggio d'errore.
Potete modificare facilmente il codice per le vostre necessità, grazie ai commenti messi nei punti chiave.
Il codice e le figure già pronti per funzionare li potete scaricare da qui come file zippato. (downloads 1452).
Li dezippate in una cartella del server locale PHP (webpages per xitami e htdocs per XAMPP) e potete iniziare a sperimentare.
Funziona sia con le ultime versioni del PHP 4 che in PHP 5.xx
Il codice ha una minima e bruttina formattazione che lascio a voi migliorare e completare.
Chi ha bisogno di chiarimenti e chi trova errori o problemi, mi può scrivere e cercherò di rispondere a tutti.


mostra/nascondi il codice di captcha.php  

DEMO
Introduci i dati richiesti
il tuo nome
il tuo indirizzo
....
altri campi del form
....
clicca su un rettile

altra prova
(Vers. 2.1)  Modificato il 30-11-2010
http://www.tarozzi.net   
disclaimer