01-02-2011, 11:40 AM
Pour ma part, j'utilise un petit script PHP (captchaSecurityCode.php):
<?php
session_start();
header('Content-Type: image/png');
header('Cache-Control: no-cache, no-store, must-revalidate, max-age=0, s-max-age==0'); //HTTP/1.1
header('Last-Modified: ' . gmdate('D, d M Y H:i') . ' GMT'); // toujours modifié
header('Expires: Sun, 01 Jul 2005 00:00:00 GMT');
header('Pragma: no-cache'); //HTTP/1.0
//randomization
list($usec, $sec) = explode(' ', microtime());
srand((float) $sec + ((float) $usec * 100000));
//Création de l'image de sécurité
$im = imagecreatefromgif('...background.gif');
$font = imageloadfont('...font.gdf');
$red = imagecolorallocate($im, 237, 28, 36);
$black = imagecolorallocate($im, 0, 0, 0);
$text = substr(md5((time()*rand(0, 999))), 0, 5);
$_SESSION['code'] = $text;
imagestring($im,$font,1,5,$text,$black);
imagepng($im);
imagedestroy($im);
?>
que j'utilise comme ceci:<div class="Center">Merci de recopier le code de sécurité.<br><br>
<img src="captchaSecurityCode.php?<?php echo rand(0,9999)?>"><br><br>
<input type="text" name="code" size="8" maxlength="8"><br>
</div>
puis une comparaison entre $_SESSION['code'] et $_POST['code']