function afficher_image()
{
// Voici les caractères autorisés pour le code
// (j'ai fait exprès de retirer le chiffre 0 et la lettre O pour parer à toute ambiguïté)
$alphanum = "ABCDEFGHIJKLMNPQRSTUVWXYZ123456789";
// Trouve au hasard un code de 5 caractères
$rand = substr(str_shuffle($alphanum), 0, 5);
// Création d'un hash pour ce code puis injection dans la session
$_SESSION['image_random_value'] = md5($rand);
// Sélectionne au hasard l'image de fond : img/bg1.jpg ou img/bg2.jpg
$image = imagecreatefromjpeg("bg".rand(1,2).".jpg");
// Blanc en couleur de fond
$bgColor = imagecolorallocate ($image, 255, 255, 255);
// Noir en couleur de texte
$textColor = imagecolorallocate ($image, 0, 0, 0);
// Ecriture du code dans par-dessus l'image
imagestring ($image, 5, 5, 2, $rand, $textColor);
// Paramètres pour éviter la mise en cache ...
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
// Définition du type "image"
header('Content-type: image/jpeg');
// Envoi de l'image au navigateur
imagejpeg($image);
// Destruction de l'image pour libérer la mémoire
imagedestroy($image);
};
function faux_code($code)
//verifie si le code de vérification qui a été entré est correct
{
$code = trim($code);
if ( ( md5($code)!=$_SESSION['image_random_value'] ) ) return true;
else return false;
}
?>