Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: Codice di sicurezza per i form :: Indice Php


Codice di sicurezza per i form

Categoria: Php Inserito il: 18-12-2006 Stampa Invia (3198 click)

Non è difficile creare un codice di sicurezza per proteggere i nostri form dalle attenzioni degli spammers. In questo breve tutorial mostreremo come creare un'immagine Captcha contenente una stringa di testo alfanumerica casuale che l'utente dovrà digitare per confermare l'invio del suo messaggio tramite modulo.

Il codice della nostra applicazione non farà altro che produrre una stringa random sulla base della funzione di crittografia md5(), dopo di chè utilizzerà come sfondo della stringa un'immagine conservata in una cartella del nostro server.

L'immagine verrą poi alterata con delle linee colorate in modo da rendere meno leggibile ma comunque comprensibile all'occhio umano il codice di sicurezza. Ecco il listato del nostro script:

<?
session_start();

//creazione della stringa di sicurezza 
$codice_random = @md5(microtime());
$stringa_di controllo = @substr($codice_random,0,5);

//acquisizione e modifica dell'immagine
$img_di_sfondo =@imagecreatefromjpeg("images/img.jpg");
$colore_linea = @imagecolorallocate($img_di_sfondo,233,239,239);
$colore_testo = @imagecolorallocate($img_di_sfondo, 255, 255, 255);

//creazione delle alterazioni
//e impostazione del Captcha
@imageline($img_di_sfondo,1,1,40,40,$colore_linea);
@imageline($img_di_sfondo,1,100,60,0,$colore_linea);
@imagestring($img_di_sfondo, 5, 20, 10, $stringa_di controllo, $colore_testo);

//creazione della sessione
$_SESSION['control'] = $stringa_di controllo;

//output Captcha
@header("Content-type: image/jpeg");
@imagejpeg($img_di_sfondo);
?>
La stringa random risultante verrà passata in sessione in modo da poter operare un confronto; se il confronto darà esito positivo il modulo potrà essere inviato.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle pił importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Interoperabilitą tra librerie in SimpleXML
SimpleXML nasce dall'esigenza di creare una libreria che semplifichi i processi di costruzione delle interfacce averso XML, si legga per... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti