PHP implémente la fonction de code de vérification

 

 

Login code de la page de connexion:

<! 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?' + new Date (). getTime ();" largeur = "140"
        < ENTREE Type = "text" nom = "captcha" espace réservé = "S'il vous plaît entrer le code de vérification de l' image" > < br /> 
        < ENTREE Type = "Soumettre" valeur = "Vérifier" > 
    </ forme > 
</ body > 
< / html >

 

Générez un code de vérification:

<? php
 / * * 
 * Génération de codes de vérification pour les lettres + chiffres 
 * / 
// Ouvrir la session 
session_start ();
 // 1. Créer un canevas noir 
$ image = imagecreatetruecolor (100, 30 ); 

// 2. Définir le canevas (arrière-plan ) Couleur 
$ bgcolor = imagecolorallocate ( $ image , 255, 255, 255 ); 

// 3. Couleur de remplissage 
imagefill ( $ image , 0, 0, $ bgcolor ); 

// 4. Définition du contenu du code de vérification 

// 
4.1 définition du code de vérification contenu $ content = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" ; 

// 4.1 crée un code variable de données stockées générées, vérification soumis par l' utilisateur 
captcha $= "" ;
 pour ( $ i = 0; $ i <4; $ i ++ ) {
     // taille de police 
    $ fontsize = 10 ;
     // couleur de police 
    $ fontcolor = imagecolorallocate ( $ image , mt_rand (0, 120), mt_rand (0, 120), mt_rand (0, 120 ));
     // Définir le contenu de la police 
    $ fontcontent = substr ( $ content , mt_rand (0, strlen ( $ content )), 1 );
     $ captcha . =$ fontcontent ;
     // Coordonnées affichées 
    $ x = ( $ i * 100/4 ) + mt_rand (5, 10 );
     $ y = mt_rand (5, 10 );
     // Remplissez le contenu dans la toile 
    imagestring ( $ image , $ fontsize , $ x , $ y , $ fontcontent , $ fontcolor ); 
} 

$ _SESSION ["image_captcha"] = $ captcha ; 

// 4.3 Définissez l'élément d'interférence d'arrière-plan 
pour ($ $ 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 设置 干扰 线
pour ( $ 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. Le navigateur génère l'en-tête d'informations d'en 
- tête d'image ('content-type: image / png' ); 

// 6. 
Exporte l'image vers le navigateur imagepng ( $ image ); 

// 7. Détruit l'image 
imagedestroy ( $ image );

Vérifiez le code d'entrée:

<? php
 / * * 
 * Acceptez le code de vérification soumis par l'utilisateur lors de la connexion 
 * / 
session_start ();
 // 1. Obtenez le code de vérification soumis par l'utilisateur 
$ captcha = $ _POST ["captcha" ];
 // 2. Transférez la session Le code de vérification et le code de vérification soumis par l'utilisateur sont vérifiés. Lorsque le code de vérification réussit, le code de vérification est correct. S'il
 échoue , sautez en arrière et soumettez -le de nouveau si ( strtolower ( $ _SESSION ["image_captcha"]) == strtolower ( $ captcha )) {
     echo " <h5> oui! Le code de vérification est correct! </ h5> " ; 
} else {
     echo " NON! Le code de vérification a été soumis incorrectement! " ; en-
     tête (" actualisation: 3; url =. / login.php ");// Entrez l'erreur pour accéder à la page de connexion
}

 

Je suppose que tu aimes

Origine www.cnblogs.com/niusdtz/p/12683415.html
conseillé
Classement