Barra laterale

programmazione:php:creare_immagine_per_captcha

Creare un'immagine per un CAPTCHA con Php e libgd

Autore: Fabio Di Matteo
Ultima revisione: 28/04/2022 - 10:22

Vedremo come creare un'immagine con da usare nei sistemi di CAPTCHA in php e libgd. Intanto ecco il risultato:

<?php
 
function getRandomString($n) {
	    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
	    $randomString = '';
 
	    for ($i = 0; $i < $n; $i++) {
	        $index = rand(0, strlen($characters) - 1);
	        $randomString .= $characters[$index];
	    }
 
	    return $randomString;
	} 
 
 
 
function noise($image)
{
	$x = 100;
	$y = 50;
	$image = imagecreatetruecolor($x,$y);
	$white = imagecolorallocate($image, 255, 255, 255);
	imagefilledrectangle($image, 0, 0, 399, 29, $white);
	$colorText = imageColorAllocate($image, 255,255,255);
 
	for($i = 0; $i < $x; $i++) {
	    for($j = 0; $j < $y; $j++) {
	        $color = imagecolorallocate($image, rand(0,20), rand(0,255), rand(0,255));
	        imagesetpixel($image, $i, $j, $color);
 
	    }
	}
	return $image;
}
 
 
$im = imagecreatetruecolor(120, 50);
$im=noise($im);
 
 
imagettftext($im, 20, 0, 10, 35, 
            imagecolorallocate($im, 0, 0, 0), 
            './font.ttf', getRandomString(5));
 
// Output to browser
header('Content-Type: image/png');
imagepng($im);
imagedestroy($im);
?>

Serve mettere a disposizione dello script un file per il font (font.ttf).


programmazione/php/creare_immagine_per_captcha.txt · Ultima modifica: 28/04/2022 - 10:26 da Fabio Di Matteo