Codice PHP:
<?
// ConfIgurazione
include 'config.php';
// Crea due stringhe casuali
function dsaRandomString($lenght){
$string = explode(',', '1,2,3,4,5,6,7,8,9,Q,W,E,R,T,Y,U,I,P,A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M,-,?');
$random = '';
for ( $a=0; $a<$lenght; $a++ ){
$numString = mt_rand(0, 35);
$random .= $string[$numString];
}
return $random;
}
$code1 = dsaRandomString(6);
$code2 = dsaRandomString(6);
// Assegna alla variabile di sessione il valore delle stringhe casuali
$_SESSION['Captcha'] = $code1 . " " . $code2;
// Dimensioni rettangolo
$img = imageCreateTrueColor(250, 80);
// Funzione per i colori
$white = imageColorAllocate($img, 255, 255, 255);
$black = imageColorAllocate($img, 0, 0, 0);
// Creo il rettangolo e il bordo
imageFilledRectangle($img, 0, 0, 250-2, 80-2, $white);
imageRectangle($img, 0, 0, 250-1, 80-1, $black);
// Inserisce testo
imagettfText( $img, # immagine
16, # dimensione font
5, # curvatura
rand(15, 60), # posizionamento a destra ( 60 = destra, 16 = sinistra )
rand(20, 80), # posizionamento altezza ( 20=alto, 80= basso)
$black,# colore
'./courbd.ttf', # font
$code1 # scritta
);
imagettfText( $img, # immagine
16, # dimensione font
5, # curvatura
$v1=rand(130, 170), # posizionamento a destra ( 170 = destra, 130 = sinistra )
$v2=rand(20, 80), # posizionamento altezza ( 20=alto, 80= basso)
$black,# colore
'./courbd.ttf', # font
$code2 # scritta
);
// Crea un cerchio
imageEllipse( $img, # immagine
$v1+25+rand(0,5), # posizionamento a destra
$v2-15+rand(0,5), # posizionamento altezza
50, # larghezza arco
50, # lunghezza arco
$black # colore
);
// Crea 600 linee
for ($i=0; $i<550; $i++)
{
$r1 = rand(3, 250-3);
$r2 = rand(3, 80-3);
$r3 = $r1-2-rand(0, 8);
$r4 = $r2-2-rand(0, 8);
imageLine($img, $r1, $r2, $r3, $r4, $black);
}
// Invia Header
header("Content-type: image/png");
// Stampa l'immagine in formato PNG
imagePng($img);
// Libera memoria
imageDestroy($img);
?>
Se tolgo l'include, tutto incomincia a funzionare