PHP implementa la función de código de verificación

 

 

Código de página de inicio de sesión:

<! DOCTYPE html > 
< html > 
< head > 
    < meta charset = "UTF-8" > 
    < title >登陆</ title > 
</ head > 
< body > 
    < form action = "./ test.php" method = "post" > 
        < img src = "image_captcha.php"   onclick = "this.src = 'image_captcha.php?' + nueva Fecha (). getTime ();" ancho = "140"
        < ENTRADA tipo = "text" nombre = "Captcha" marcador de posición = "Por favor, introduzca el código de verificación de la imagen" > < br /> 
        < ENTRADA tipo = "Enviar" valor = "Verificar" > 
    </ formar > 
</ cuerpo > 
< / html >

 

Generar código de verificación:

<? php
 / * * 
 * Generación de códigos de verificación para letras + números 
 * / 
// Abrir sesión 
session_start ();
 // 1. Crear un lienzo negro 
$ image = imagecreatetruecolor (100, 30 ); 

// 2. Definir el lienzo (fondo ) Color 
$ bgcolor = imagecolorallocate ( $ image , 255, 255, 255 ); 

// 3. Relleno de imagen en color 
( $ image , 0, 0, $ bgcolor ); 

// 4. Establecer el contenido del código de verificación 

// 
4.1 definir el código de verificación El contenido de $ content = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" ; 

// 4.1 Crear una variable para almacenar los datos del código de verificación generados, lo cual es conveniente para que los usuarios envíen y comprueben 
$ captcha= "" ;
 for ( $ i = 0; $ i <4; $ i ++ ) {
     // tamaño de fuente 
    $ fontsize = 10 ;
     // color de fuente 
    $ fontcolor = imagecolorallocate ( $ image , mt_rand (0, 120), mt_rand (0, 120), mt_rand (0, 120 ));
     // Establecer contenido de fuente 
    $ fontcontent = substr ( $ content , mt_rand (0, strlen ( $ content )), 1 );
     $ captcha . =$ fontcontent ;
     // Coordenadas 
    mostradas $ x = ( $ i * 100/4 ) + mt_rand (5, 10 );
     $ y = mt_rand (5, 10 );
     // Rellene el contenido en la 
    cadena de imágenes del lienzo ( $ image , $ fontsize , $ x , $ y , $ fontcontent , $ fontcolor ); 
} 

$ _SESSION ["image_captcha"] = $ captcha ; 

// 4.3 Establecer el elemento de interferencia de fondo 
para ($ $ i = 0; $ i <200; $ i + +) {
     $ pointcolor = imagecolorallocate ( $ image , mt_rand (50, 200), mt_rand (50, 200), mt_rand (50, 200 )); 
    imagesetpixel ( $ image , mt_rand (1, 99), mt_rand (1, 29), $ pointcolor ); 
} 

// 4.4 设置 干扰 线
para ( $ i = 0; $ i <3; $ i ++ ) {
     $ linecolor = imagecolorallocate ( $ image , mt_rand (50, 200), mt_rand (50, 200), mt_rand(50, 200 )); 
    imageline ( $ image , mt_rand (1, 99), mt_rand (1, 29), mt_rand (1, 99), mt_rand (1, 29), $ linecolor ); 
} 

// 5. El navegador genera el encabezado de información del 
encabezado de la imagen ('content-type: image / png' ); 

// 6. 
Envía la imagen al navegador imagepng ( $ image ); 

// 7. Destruye la imagen 
imagedestroy ( $ image );

Verifique el código de entrada:

<? php
 / * * 
 * Acepte el código de verificación enviado por el usuario al iniciar sesión 
 * / 
session_start ();
 // 1. Obtenga el código de verificación enviado por el usuario 
$ captcha = $ _POST ["captcha" ];
 // 2. Transfiera la sesión El código de verificación y el código de verificación enviado por el usuario se verifican. Cuando el código de verificación es exitoso, el código de verificación es correcto. Si no tiene éxito, salte hacia atrás y vuelva a enviar 
if ( strtolower ( $ _SESSION ["image_captcha"]) == strtolower ( $ captcha )) {
     echo " <h5> ¡sí! ¡El código de verificación es correcto! </ h5> " ; 
} else {
     echo " ¡NO! ¡El código de verificación se envió incorrectamente! " ;
     encabezado (" actualizar: 3; url =. / login.php ");// Ingrese el error para saltar a la página de inicio de sesión
}

 

Supongo que te gusta

Origin www.cnblogs.com/niusdtz/p/12683415.html
Recomendado
Clasificación