game/captcha/image.php

74 lines
2.8 KiB
PHP
Raw Normal View History

2007-11-20 11:00:00 +00:00
<?php
session_start();
2008-11-17 11:00:00 +00:00
if(!defined('INDEX')) define('INDEX', 1);
include('../includes/common.php');
2007-11-20 11:00:00 +00:00
// On d<>fini la configuration :
if(!IsSet($_GET['nbr_chiffres']) || $_GET['nbr_chiffres'] < 5) {
$nbr_chiffres = 7; // Nombre de chiffres qui formerons le nombre par d<>faut
}
else {
$nbr_chiffres = $_GET['nbr_chiffres']; // Si l'on met dans l'adresse un ?nbr_chiffres=X
}
// L<>, on d<>fini le header de la page pour la transformer en image
header ("Content-type: image/png");
// L<>, on cr<63>e notre image
$_img = imagecreatefromgif('fond_verif_img.gif');
// On d<>fini maintenant les couleurs
// Couleur de fond :
//$arriere_plan = imagecolorallocate($_img, 0, 0, 0); // Au cas o<> on utiliserai pas d'image de fond, on utilise cette couleur l<>.
// Autres couleurs :
$couleur = mt_rand(0, 4);
if ($couleur == 0) $avant_plan = imagecolorallocate($_img, rand(250,225), rand(0,25), rand(0,25));
elseif ($couleur == 1) $avant_plan = imagecolorallocate($_img, rand(0,25), rand(250,225), rand(0,25));
// elseif ($couleur == 2) $avant_plan = imagecolorallocate($_img, rand(0,55), rand(0,55), rand(250,255));
elseif ($couleur == 3) $avant_plan = imagecolorallocate($_img, rand(0,25), rand(250,225), rand(250,225));
elseif ($couleur == 4) $avant_plan = imagecolorallocate($_img, rand(250,225), rand(0,25), rand(250,225));
elseif ($couleur == 5) $avant_plan = imagecolorallocate($_img, rand(250,225), rand(250,225), rand(0,25));
else $avant_plan = imagecolorallocate($_img, rand(200,225), rand(200,225), rand(200,225)); // Couleur des chiffres
$i = 0;
while($i < $nbr_chiffres) {
$chiffre = mt_rand(1, 18); // On g<>n<EFBFBD>re le nombre al<61>atoire
if ($chiffre == 10) $chiffre="a";
elseif ($chiffre == 2) $chiffre="w";
elseif ($chiffre == 11) $chiffre="t";
elseif ($chiffre == 12) $chiffre="c";
elseif ($chiffre == 13) $chiffre="n";
elseif ($chiffre == 14) $chiffre="p"; // e avec l'<27>criture Google
elseif ($chiffre == 15) $chiffre="f";
elseif ($chiffre == 16) $chiffre="y";
elseif ($chiffre == 17) $chiffre="m";
elseif ($chiffre == 18) $chiffre="k";
$chiffres[$i] = $chiffre;
$i++;
}
$nombre = null;
// On explore le tableau $chiffres afin d'y afficher toutes les entr<74>es qu'y s'y trouvent
foreach ($chiffres as $caractere) {
$nombre .= $caractere;
}
$_SESSION['aleat_nbr'] = strtolower($nombre);
2008-11-17 11:00:00 +00:00
$sess->values['aleatnbr'] = strtolower($nombre);
$sess->put();
2007-11-20 11:00:00 +00:00
// On d<>truit les variables inutiles :
unset($chiffre);
unset($i);
unset($caractere);
unset($chiffres);
//$fontfile = mt_rand(0, 2).'.TTF';
// Free
//$fontfile = '/mnt/152/free.fr/b/c/www.msnparadize/util/ab/1.TTF';
$fontfile = './2.TTF';
//imagestring($_img, 5, 18, 8, $nombre, $avant_plan);
2008-11-17 11:00:00 +00:00
if ($fontfile == './0.TTF') ImageTTFText($_img, 18, 2, 0, 23, $avant_plan, $fontfile, strtoupper($nombre));
2007-11-20 11:00:00 +00:00
else ImageTTFText($_img, 18.5, 2, rand(0,6), 23, $avant_plan, $fontfile, $nombre);
imagepng($_img);
?>