AnonSec Team
Server IP : 10.111.40.2  /  Your IP : 216.73.217.145
Web Server : Apache
System : Linux webd002.cluster111.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : comimage ( 586)
PHP Version : 7.4.33
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0705) :  /home/comimage/agencecomimage.com/inc/captcha/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/comimage/agencecomimage.com/inc/captcha/image.php
<?php 
require(dirname(__FILE__).'/../tools/configuration.php');

//=========== CREATION CAPTCHA ==============
session_start();
 
/* Chemin absolu vers le dossier */
if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/');
 
/* Stockage de la chaîne aléatoire de 5 caractères obtenue */
$theCode = getCode(5);
 
/* Cryptage de la chaine avec md5() avant de la stocker dans la variable de session $_SESSION['captcha'] de la session en cours.
C'est à cette variable qu'on va comparer le code entré par l'utilsateur dans le formulaire. */
$_SESSION['captcha'] = md5($theCode);
 
/* Afin de traiter les caractères séparément, on les stocke un par un dans des variables. */
$char1 = substr($theCode,0,1);
$char2 = substr($theCode,1,1);
$char3 = substr($theCode,2,1);
$char4 = substr($theCode,3,1);
$char5 = substr($theCode,4,1);
 
/*
glob() retourne un tableau répertoriant les fichiers du dossier 'fonts', ayant l'extension .ttf ( pas .TTF ! ).
Vous pouvez donc ajouter autant de polices TrueType que vous désirez, en veillant à les renommer.
*/
$fonts = glob('fonts/*.ttf');
 
 
/* ==================== TRAITEMENT DE L'IMAGE ==================== */
 
/*
imagecreatefrompng() crée une nouvelle image à partir d'un fichier PNG.
Cette nouvelle $image va être ensuite modifiée avant l'affichage.
 */
$image = imagecreatefrompng('captcha.png');
 
/*
imagecolorallocate() retourne un identifiant de couleur.
On définit les couleurs RVB qu'on va utiliser pour nos polices et on les stocke dans le tableau $colors[].
Vous pouvez ajouter autant de couleurs que vous voulez.
*/
$colors=array (	imagecolorallocate($image, 0,12,255),
                imagecolorallocate($image, 186,0,255),
                imagecolorallocate($image, 0,216,255),
                imagecolorallocate($image, 25,52,0),
                imagecolorallocate($image, 24,0,0));
 
/*
Mise en forme de chacun des caractères et placement sur l'image.
imagettftext(image, taille police, inclinaison, coordonnée X, coordonnée Y, couleur, police, texte) écrit le texte sur l'image.
*/
//imagettftext($image, 28, -10,   0, 37, random($colors), ABSPATH .'/'. random($fonts), $char1);
//imagettftext($image, 28,  20,  37, 37, random($colors), ABSPATH .'/'. random($fonts), $char2);
//imagettftext($image, 28, -35,  55, 37, random($colors), ABSPATH .'/'. random($fonts), $char3);
//imagettftext($image, 28,  25, 100, 37, random($colors), ABSPATH .'/'. random($fonts), $char4);
//imagettftext($image, 28, -15, 120, 37, random($colors), ABSPATH .'/'. random($fonts), $char5);
imagettftext($image, 28,   0,   5, 37, random($colors), ABSPATH .'/'. random($fonts), $char1);
imagettftext($image, 28,  10,  38, 37, random($colors), ABSPATH .'/'. random($fonts), $char2);
imagettftext($image, 28, -10,  60, 37, random($colors), ABSPATH .'/'. random($fonts), $char3);
imagettftext($image, 28,  10,  98, 37, random($colors), ABSPATH .'/'. random($fonts), $char4);
imagettftext($image, 28, -15, 122, 37, random($colors), ABSPATH .'/'. random($fonts), $char5);
 
 
/* ========================= FIN => ENVOI DE L'IMAGE ========================= */
 
/*
Comme c'est le fichier captcha.php et non captcha.png qui va être appelé,
on envoie un en-tête HTTP au navigateur via header() pour lui indiquer
que captcha.php est bien une image au format PNG.
*/
header('Content-Type: image/png');
 
/* .. et on envoie notre image PNG au navigateur. */
imagepng($image);
 
/* L'image ayant été envoyée, on libère toute la mémoire qui lui est associée via imagedestroy(). */
imagedestroy($image);
?>

AnonSec - 2021