J'ai créé une image Captcha à utiliser sur divers formulaires. Cela fonctionne très bien dans une création d'une rangée de lettres qui, une fois entré correctement, envoie l'information au bon courriel.Même code, résultat différent. Pourquoi?
Toutefois, lorsque je coupe et colle exactement le même code, l'image crée des nombres qui ne peuvent pas être lus et, par conséquent, le formulaire ne peut pas être envoyé. Je ne peux pas pour la vie de moi voir pourquoi ce serait?
Ou au moins d'empêcher la forme des nombres apparaissant?
Merci beaucoup d'avance pour toute aide
code ci-dessous:
<?php session_start();
// Set some important CAPTCHA constants
define('CAPTCHA_NUMCHARS', 6);
define('CAPTCHA_WIDTH', 100);
define('CAPTCHA_HEIGHT', 25);
// Generate the random pass-phrase
$pass_phrase = "";
for ($i = 0; $i < CAPTCHA_NUMCHARS; $i++) {
$pass_phrase .= chr(rand(97, 122));
}
// Store the encrypted pass-phrase in a session variable
$_SESSION['pass_phrase'] = SHA1($pass_phrase);
// Create the image
$img = imagecreatetruecolor(CAPTCHA_WIDTH, CAPTCHA_HEIGHT);
// Set a white background with black text and gray graphics
$bg_color = imagecolorallocate($img, 255, 255, 255); // white
$text_color = imagecolorallocate($img, 0, 0, 0); // black
$graphic_color = imagecolorallocate($img, 64, 64, 64); // dark gray
// Fill the background
imagefilledrectangle($img, 0, 0, CAPTCHA_WIDTH, CAPTCHA_HEIGHT, $bg_color);
// Draw some random lines
for ($i = 0; $i < 5; $i++) {
imageline($img, 0, rand() % CAPTCHA_HEIGHT, CAPTCHA_WIDTH, rand() % CAPTCHA_HEIGHT, $graphic_color);
}
// Sprinkle in some random dots
for ($i = 0; $i < 50; $i++) {
imagesetpixel($img, rand() % CAPTCHA_WIDTH, rand() % CAPTCHA_HEIGHT, $graphic_color);
}
// Draw the pass-phrase string
imagettftext($img, 18, 0, 5, CAPTCHA_HEIGHT - 5, $text_color, 'Courier New Bold.ttf', $pass_phrase);
// Output the image as a PNG using a header
header("Content-type: image/png");
imagepng($img);
// Clean up
imagedestroy($img);
?>
Expliquez à nouveau la partie problème, faites un exemple; étant donné que vous avez des images, montrez-les. Aussi, est-ce lié à votre fichier de police peut-être? – mario
SHA-1 n'est pas une routine de cryptage, ne l'appelez pas comme ça. – NullUserException
Peu importe, il est stocké dans la session afin que l'utilisateur ne le voit jamais. Aussi bien renoncer au hash et stocker la réponse directement. Les sessions sont stockées côté serveur. – Halcyon