Crear CAPTCHA profesional 100% PHP [Tienes que estar registrado y conectado para ver esa imagen] En este tutorial, aunque no es normal en Anden33, explicare como crear una protección captcha en nuestra web, solo con PHP, para que esto funcione necesitaremos las librerias GD para la creación de imágenes.
[Tienes que estar registrado y conectado para ver esa imagen]---------- Fondo recomendado para el CAPTCHA:
[Tienes que estar registrado y conectado para ver esa imagen]NOTA: Para obtener cuatro fondos, rotar la imágen:
- Solo Horizontal.
- Solo Vertical.
- Horizontal y Verticalmente.
- Original.
[Tienes que estar registrado y conectado para ver esa imagen] PHP 5.0 o superior (TESTEADO en v 5.4.3)
[Tienes que estar registrado y conectado para ver esa imagen] ----------------- Código generador de la imágen captcha:
session_name("Anden33_CaptchaCode");
session_start();
$genum = strtolower(substr(uniqid(), -6));
$salt = "
NUESTRA CLAVE ";
$_SESSION["captcha"] = crypt($genum,$salt);
$bgvar = rand(1,4);
$positionvar1 = rand(2,10);
$positionvar2 = rand(2,40);
$colourvar1 = rand(0,255);
$colourvar2 = rand(0,255);
$colourvar3 = rand(0,255);
//Fondo con nombre variable FONDO-CAPTCHA1.jpg a FONDO-CAPTCHA4.jpg
$capimg = imagecreatefromjpeg(
'./FONDO-CAPTCHA'.$bgvar.'.jpg' );
// Fondo blanco y texto multicolor
$fondo = imagecolorallocate($capimg, 255, 255, 255);
$color_texto = imagecolorallocate($capimg, $colourvar1, $colourvar2, $colourvar3);
// Escribir la cadena variable
imagestring($capimg, '15px', $positionvar2.'px', $positionvar1.'px', $genum, $color_texto);
// Imprimir la imagen
header('Content-type: image/jpeg');
header('Content-Disposition: inline; filename="Anden33 - Captcha"');
imagepng($capimg);
imagedestroy($capimg);
?>
---------------- Código comprobador de Captcha:
session_name("Anden33_CaptchaCode");
session_start();
$salt = "
NUESTRA CLAVE ";
if(crypt($captcha,$salt) !== $_SESSION["captcha"]){
echo = "ERROR"
};
?>
----------------------- Mostrando el captcha con boton de refresco
- Código:
-
<img src='/FICHERO PHP CON CODIGO GENERADOR' id='captcha' />
<a href="javascript:void('null');" onclick="document.getElementById('captcha').src = '/.textures/gen-captcha.png?' + Math.random();">LO QUE SE CLICA PARA REFRESCAR IMÁGEN</a>