Vamos a ver como crear un captcha desde php. Un captcha es una palabra aleatoria mostrada como imagen que se utiliza para evitar que los robots accedan a determinadas web. Este tipo de código de verificación es utilizada para evitar el spam en los formularios de las páginas web.
A continuación una función en php para generar un captcha, con un parámetro que le pasaremos el número de caracteres que formaran la nueva imagen.
function captcha($numcaracteres = 6){
$caracteres = '23456789bcdfghjkmnpqrstvwxyz';
$codigo = '';
$i = 0;
while ($i < $numcaracteres) {
$codigo .= substr($caracteres, mt_rand(0, strlen($caracteres)-1), 1);
$i++;
}
// Iniciamos sesión
$_SESSION["captcha"] = $codigo;
// Medidas
$ancho = 100;
$alto = 25;
// Creamos nueva imagen
$imagen = ImageCreate($ancho, $alto);
// Definimos 3 Colores
$color1 = ImageColorAllocate($imagen, 255, 255, 255); // blanco
$color2 = ImageColorAllocate($imagen, 0, 0, 0); // negro
$color3 = ImageColorAllocate($imagen, 255, 0, 0); //rojo
// Color background
ImageFill($imagen, 0, 0, $color2);
// Color texto
ImageString($imagen, 5, 30, 3, $codigo, $color1);
// Líneas diagonales
imageline($imagen, 0, 5, $ancho, 5, $color3);
imageline($imagen, $ancho/4, 0, $ancho/2, $alto, $color3);
imageline($imagen, 0, 18, $ancho, 18, $color3);
imageline($imagen, 46, 0, 86, $alto, $color3);
header("Content-Type: image/jpeg");
// Generamos la nueva imágen jpg
ImageJpeg($imagen);
// Liberamos recursos
ImageDestroy($imagen);
}
// Modo de uso
captcha();
Agradezco tu comentario 🤘