Vous êtes ici Codes PHP et MySQL > GD-Graphiques > Captcha anti-spam simple et avec image

 

Captcha anti-spam simple et avec image

Ce code permet de générer une image anti-spam, à utiliser pour bloquer l'accès des formulaires aux bots. Le code de l'image est mis dans la session $_SESSION['code']. Ainsi, on peut s'assurer simplement de la validité du code entré par l'utilisateur.
 
Mhdi
Code vu 5015 fois
Enregistré le 02 Juil 2008
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Captcha anti-spam simple et avec image
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Captcha anti-spam simple et avec image                    */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts423-PHP.htm              */
/* Auteur         : Mhdi                                                      */
/* Date édition   : 02 Juil 2008                                              */
/*                                                                            */
/******************************************************************************/

session_start(); //Démarrer les sessions

//on crée une image vierge de dimensions 200*50
$image imagecreate(200,50);

//Les polices  disponibles
$font1 'polices/1.ttf';
$font2 'polices/2.ttf';

// La taille de la police
$fontsize 23;
//Les couleurs
$blanc imagecolorallocate($image250250250);//Couleur blanche
$gris imagecolorallocate($image128128128);//couleur grise
$noir imagecolorallocate($image797979);//Couleur noire

//Les coordonnées
$z=35;
$y=35;

//Les caractères pouvant être inscrits dans l'image
$txt=array("A","B""C""D""E""F""G""H""I""J""K""L""M""N""O""P""Q""R""S""T""U""V""W""X""Y""Z",
 "1""2""3""4""5""6""7""8""9");

//Boucle qui permet d'afficher 5 caractères
for($x 0$x 5$x++)
{
    //Couleur au hasard
    $couleur = (mt_rand(0,1)==0) ? $noir $gris;

    //police au hasard    
    $font = (mt_rand(0,1)==0) ? $font1 $font2;
    
    //Caractère au hasard
    $v=mt_rand(0,34);
    
    //Le tout dans l'image
    imagettftext($image,$fontsizemt_rand(0,25), $z$y$couleur$font$txt[$v]);
    
    //Le code
    $code.=$txt[$v];

    //Espace entre les caractères
    $z+=28;
}

//On affiche des lignes
for($i 0$i 85$i++)
{
    //Couleur des lignes
    $choix=mt_rand(0,1);
    $couleur = (mt_rand(0,1)==0) ? $noir $gris;
    
    //Les lignes!
ImageLine($image,mt_rand(0,200),mt_rand(0,200),mt_rand(0,200),mt_rand(0,200),$couleur);
}

//La session qui contient le code
$_SESSION['code'] = $code;

//Le type de la page
header ("Content-type: image/png");
header('Cache-Control: no-store, no-cache, must-revalidate');
imagepng($image);

//On économise les ressources
imageDestroy($image);
?>

 

Fonctions du code

: Initialise une session - (PHP 4, PHP 5)
: Crée une nouvelle image à palette - (PHP 4, PHP 5)
: Alloue une couleur pour une image - (PHP 4, PHP 5)
: Crée un tableau - (PHP 4, PHP 5)
: Génère une meilleure valeur aléatoire - (PHP 4, PHP 5)
: Dessine un texte avec une police TrueType - (PHP 4, PHP 5)
: Dessine une ligne - (PHP 4, PHP 5)
: Envoie un en-tête HTTP - (PHP 4, PHP 5)
: Envoie une image PNG vers un navigateur ou un fichier - (PHP 4, PHP 5)
: Détruit une image - (PHP 4, PHP 5)
Commentaires
Il est bien beau ton code ! mais comment on l'installe???
 
merci mais comment installer ?
 
regarde tu as la session qui contient le code
//La session qui contient le code $_SESSION['code'] = $code;
donc dans ton formulaire tu inclus l'image
<img src="nom_de_ton_fichier.php" /> Code : <input type="text" name="code" >
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

GD-Graphiques

 
 

PHP

 
 
 
Php 5 Livre PHP

Php 5
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
        Publicité