Bouts de Codes PHP

Captcha anti-spam simple et avec image

Information sur le code source PHP

Ecrit par :  Mhdi
Enregistrement le 02 Juil 2008 - Vu 3278 fois
Impression: Imprimer le code
Pas encore
de vote

Description du code source

Information sur le code source

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.

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 source

Fonctions php / mysql PHP

  • session_start : Initialise une session - (PHP 4, PHP 5)
  • imagecreate : Crée une nouvelle image à palette - (PHP 4, PHP 5)
  • imagecolorallocate : Alloue une couleur pour une image - (PHP 4, PHP 5)
  • array : Crée un tableau - (PHP 4, PHP 5)
  • mt_rand : Génère une meilleure valeur aléatoire - (PHP 4, PHP 5)
  • imagettftext : Dessine un texte avec une police TrueType - (PHP 4, PHP 5)
  • imageline : Dessine une ligne - (PHP 4, PHP 5)
  • header : Envoie un en-tête HTTP - (PHP 4, PHP 5)
  • imagepng : Envoie une image PNG vers un navigateur ou un fichier - (PHP 4, PHP 5)
  • imagedestroy : Détruit une image - (PHP 4, PHP 5)

Poster un commentaire

:P :)
:wink: :lol:
:surprised: :confused:
:idea: :no:
Taille du texte:
Couleur:
 
Code de sécurité
Offres d'emploi
Librairie

Langages de programmation

La librairie est ouverte à tous et elle est accès principalement sur les langages PHP et MySQL. Vous trouverez aussi d'autres langages de programmation tel que le CSS, HTML, AJAX, ASP.. Plus de 300 références facilement accessibles. Visiter

  • PHP et MySQL pour les nuls
  • PHP & MySQL pour les nuls
  • MySQL 5 : Installation, mise en oeuvre, administration et programmation
  • HTML - Entraînez-vous pour maîtriser le code source
  • XHTML et CSS 2
  • PHP 5 & MySQL 5 : Créez votre site web dynamique de A à Z
  • PHP 5 : Accès aux données (MySQL, Oracle, SQL Server, SQLite...)
  • PHP et MySQL
  • PHP et MySQL - Liste des principales fonctions et syntaxe détaillée
  • PHP et MySQL - Maîtrisez le développement d'un site Web dynamique et interactif