Problème variable SESSION captcha
victoires
Messages postés
119
Date d'inscription
Statut
Membre
Dernière intervention
-
Atropa Messages postés 1940 Date d'inscription Statut Membre Dernière intervention -
Atropa Messages postés 1940 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai un captcha dans un formulaire et quand j'essaye de récupérer la variable SESSION qui contient le code captcha, ça me donne toujours la valeur du code captche précédente. voilà mon code
script qui génère le captcha :
script formulaire :
quand je fais
ça me retourne toujours valeur précédente du captcha
Merci pour votre aide
Bonne journée
J'ai un captcha dans un formulaire et quand j'essaye de récupérer la variable SESSION qui contient le code captcha, ça me donne toujours la valeur du code captche précédente. voilà mon code
script qui génère le captcha :
<?php // On crée la session avant tout session_start(); // On définit la configuration : $nbr_chiffres = 6; // Nombre de chiffres qui formeront le nombre // Là, on définit le header de la page pour la transformer en image header ("Content-type: image/png"); // Là, on crée notre image $_img = imagecreatefrompng('fond_verif_img.png'); // On définit maintenant les couleurs // Couleur de fond : $arriere_plan = imagecolorallocate($_img, 0, 0, 0); // Au cas où on n'utiliserait pas d'image de fond, on utilise cette couleur-là. // Autres couleurs : $avant_plan = imagecolorallocate($_img, 255, 255, 255); // Couleur des chiffres ##### Ici on crée la variable qui contiendra le nombre aléatoire ##### $i = 0; while($i < $nbr_chiffres) { $chiffre = mt_rand(0, 9); // On génère le nombre aléatoire $chiffres[$i] = $chiffre; $i++; } $nombre = null; // On explore le tableau $chiffres afin d'y afficher toutes les entrées qui s'y trouvent foreach ($chiffres as $caractere) { $nombre .= $caractere; } ##### On a fini de créer le nombre aléatoire, on le rentre maintenant dans une variable de session ##### $_SESSION['aleat_nbr'] = $nombre; // On détruit les variables inutiles : unset($chiffre); unset($i); unset($caractere); unset($chiffres); imagestring($_img, 5, 18, 8, $nombre, $avant_plan); imagepng($_img); ?>
script formulaire :
<input name="secure" type="text" size="10"> <img src="verif_code_gen.php" alt="Code de vérification" />
quand je fais
print_r($_SESSION);
ça me retourne toujours valeur précédente du captcha
Merci pour votre aide
Bonne journée
A voir également:
- Problème variable SESSION captcha
- Www.yahoomail.com ouverture de session ✓ - Forum Yahoo mail
- Teamviewer code de session expiré ✓ - Forum Logiciels
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
- Veuillez ouvrir une session avec les privilèges du gestionnaire ✓ - Forum Jeux vidéo
- Vba range avec variable ✓ - Forum VB / VBA
1 réponse
bonjour,
c'est normale vu que tu génère ton nombre après l'affichage du formulaire c'est a la réceptiondu formulaire qu'il faut que tu vérifie le captcha pas quand il est généré
sinon je ne comprend pas pourquoi tu fais autant de foucle pour générer ton nombre
reviens au même
c'est normale vu que tu génère ton nombre après l'affichage du formulaire c'est a la réceptiondu formulaire qu'il faut que tu vérifie le captcha pas quand il est généré
sinon je ne comprend pas pourquoi tu fais autant de foucle pour générer ton nombre
$nombre = ''; for($i=0;$i < $nbr_chiffres,$i++) $nombre.= mt_rand(0, 9); // On génère le nombre aléatoire $_SESSION['aleat_nbr'] = $nombre;
reviens au même
c'est certain que c'est moins pratique pour l'utilisateur mais a quoi bon en mettre un si il ne sert a rien. il existe nombre de logiciel et de code pour lire les textes dans les images
du coup le script pour casser le captcha n'est pas compliqué a faire si la police n'est pas déformé et/ou parasité
pour déformer il y a différentes façon de faire.
déjà il faut utiliser une police perso (trouvé sur dafont par exemple)
et la libraire gd permet de le faire
https://www.php.net/manual/fr/book.image.php
puis en js j'ai fais dans une fonction que j'appel onSubmit :
est ce que c'est possible de récupérer une variable de SESSION en js ?
j'ai fais car sinon l'utlisateur doit remplir tout de nouveau si le captch est incorrect donc j'aimerais faire la validation avant d'aller à la page confirmation ?
Merci encore