[Linux-Biella] funzione generazione capcha
Alberto Bertoli
a.bertoli a bilug.it
Mer 22 Apr 2015 21:39:47 CEST
On 21/04/2015 23:13, .: Federico Villa (Villinux) wrote:
> hola!
>
> Qualcuno mi aiuta a individuare il problema in queste righe di codice
> php che servono per generare il capcha per il form contatti del nostro
> sito?
? a me pare funzioni ...
Qual'é il problema ?
PS : prova ml ...
> <?
> /*
> * CAPTCHA SYSTEM
> * CREATO DA REMOTES
> * SITO: http://www.remotes.it
> * EMAIL: webmaster a remotes.it
> *
> * QUESTO SCRIPT E' SCRITTO IN PHP E NECESSITA DELLE LIBRERIE GD
> *
> * PER VISUALIZZARE L'IMMAGINE USATE IL TAG HTML:
> * <img src="cap_mail.php">
> *
> * IL NUMERO CORRETTO PER ESEGUIRE IL CONFRONTO SI TROVA NELLA VARIABILE:
> * $_SESSION['cap_mail']
> */
>
>
> // AVVIA LA SESSIONE
> session_start();
>
> // GENERA 5 CIFRE A RANDOM
>
> do{
>
> $cap1 = rand("1","9");
> $cap2 = rand("1","9");
> $cap3 = "=";
> $cap4 = rand("0","2");
>
> }while($cap4==1 and $cap2>=$cap1);
>
> switch ($cap4)
> {
> case 0:{
> $operat="+";
> $operaz= $cap1+$cap2;
> }
> break;
> case 1:{
> $operat="-";
> $operaz= $cap1-$cap2;
> }
> break;
> case 2:{
> $operat="*";
> $operaz= $cap1*$cap2;
> }
> break;
> }
>
>
> // COMPONE IL NUMERO E LO SALVA IN UNA SESSIONE
> unset( $_SESSION['cap_mail'] );
> $_SESSION['cap_mail'] = $operaz;
>
> // AVVIA l'ISTANZA PER LA CREAZIONE DELL'IMMAGINE
> $immagine = imageCreate(88, 36);
>
> // DEFINISCE I COLORI CHE UTILIZZEREMO NELL'IMMAGINE
> // (IL PRIMO COLORE INSERITO DIVIENE AUTOMATICAMENTE LO SFONDO)
> $arancio = imageColorAllocate($immagine, 255, 136, 0);
> $blu = imageColorAllocate($immagine, 0, 0, 255);
>
> // GENERA A RANDOM UN NUMERO DI PUNTI (COMPRESO TRA 50 E 100)
> $ndot = rand("50","100");
>
> // CICLO PER L'INSERIMENTO DEI PUNTI
> $zdot = 1;
> while ($zdot <= $ndot) {
> $dotx = rand("2","86");
> $doty = rand("2","34");
> imageline($immagine, $dotx, $doty, $dotx, $doty, $blu);
> $zdot++;
> }
>
> // SCRIVE LE CIFRE INSERENDOLE CON UNA X FISSA E UNA Y VARIABILE
> imageString($immagine, 5, 15, rand("5","15"), $cap1, $blu);
> imageString($immagine, 5, 30, rand("5","15"), $operat, $blu);
> imageString($immagine, 5, 45, rand("5","15"), $cap2, $blu);
> imageString($immagine, 5, 60, rand("5","15"), $cap3, $blu);
> //imageString($immagine, 5, 75, rand("5","15"), $_SESSION['cap_mail'], $blu);
>
> //imageString($immagine, 5, 70, rand("5","15"), $cap5, $blu);
>
> // DEFINISCE IL MIME-TYPE DELL'IMMAGINE (IN QUESTO CASO COME IMMAGINE PNG)
> header("Content-type: image/png");
>
> // CREA L'IMMAGINE PNG
> imagepng($immagine);
>
> // LIBERA LA MEMORIA
> imageDestroy($immagine);
>
> exit();
> ?>
> _______________________________________________
> Linux mailing list
> Linux a ml.bilug.linux.it
> http://ml.bilug.linux.it/mailman/listinfo/linux
Maggiori informazioni sulla lista
Linux