problème de captcha

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème de captcha

Re: problème de captcha

par sim31 » 05 mai 2011, 17:25

merci pour ton aide mais j'ai résolu le problème n(je ne sais pas trop comment j'ai fait mais j'ai réussit a force de bricoler.
merci beaucoup

Re: problème de captcha

par moogli » 04 mai 2011, 21:53

qu'elle version de php ?
la librairie GD est bien activé ? (a voir dans un phpinfo() ).

@+

Re: problème de captcha

par sim31 » 04 mai 2011, 18:47

Je vien d'essayer et j'ai toujours le même résultat ça ne change rien.

Re: problème de captcha

par moogli » 04 mai 2011, 00:52

pas le fichier image mais le fichier php, qur ton pc tu ouvre le bloc note et tu copie / colle le code du forum pour le fichier verif_code_gen.php dans un fichier que tu nomme test_code.php.

ensuite tu met ce fichier sur le serveur et tu regarde ce que cela donne ;)

@+

Re: problème de captcha

par sim31 » 04 mai 2011, 00:09

oui j'ai vérifier plusieurs fois. j'ai changer le nom de l'image, j'ai changer son emplacement, j'ai meme changer d'image et j'ai toujour le meme résultat.

Est ce que ça pourrais venir de mon hébergeur (je suis chez OVH)?

je ne comprend pas ce qu'il s'est passé.

Re: problème de captcha

par moogli » 03 mai 2011, 22:32

le fichier est au bon endroit avec le bon nom ?

que ce passe t il si tu créer un fichier avec ce même code avec un nom différent ?

@+

Re: problème de captcha

par sim31 » 03 mai 2011, 22:31

J'ai fait ce que tu m'as dit et j'obtien ce message d'erreur:

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, [email protected] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log


je dois faire quoi?

Re: problème de captcha

par moogli » 03 mai 2011, 21:16

salut,

j'ai testé ton code il fonctionne ;)

je te conseil de mettre en commentaire le header (ligne 7) et d'afficher directement verif_code_gen.php (http://www.simon-mars-cv-info.fr/verif_code_gen.php) dans le navigateur histoire de voir ce que ça peut donner (message d'erreur ou pas).

si ça ne fonctionne pas du jour au lendemain je penche pour une modif de la conf serveur, a voir ;)

@+

problème de captcha

par sim31 » 03 mai 2011, 20:13

Bonjour,
J'ai quelques conaissances en php et j'ai créer un porfolio contenant un formulaire avec verification de captcha. Je l'ai mis en place et il a très bien fonctioné pendant plusieurs mois mais du jour au lendemain l'image du captcha ne s'affiche plu et malgrès mes conaissances je n'ai pas réussit a le corrigé. pouvez vous m'aider?
voilà l'adresse de mon formulaire: http://www.simon-mars-cv-info.fr/contact.php

fichier contact.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>contact</title>
<link rel="shortcut icon" href="favicon.ico" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<meta http-equiv="content-language" content="fr" />
<meta name="robots" content="all" />
	<meta name="title" content="Cv et présentation de Simon Mars technicien et gestionnaire informatique et réseau"/>
	<meta name="author" content="Simon MARS"/>
	<meta name="description" content="Page de contact du portfolio de Simon MARS, technicien informatique et réseau."/>
	<meta name="keywords" content="Simon, MARS, cv, technicien, informatique, réseau, maintenance, bureautique, support, gestionnaire, gestion, parc, assistance, expériences, professionnel, portfolio"/>
<link href="style.css"	title="D&eacute;faut" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>

<div id="conteneur"><!-- Conteneur Global -->
<div id="header"></div><!-- Header -->
<div id="contenu"><!-- Contenu -->
<div id="left"><!-- Colonne de Gauche -->	
<!-- Menu -->
<div class="haut_menu">Menu</div>
           <ul>
               <li><a href="index.html" title="">Accueil</a></li>
               <li><a href="competences.html" title="">Comp&eacute;tences</a></li>
               <li><a href="experience.html" title="">Exp&eacute;riences</a></li>
               <li><a href="formations.html" title="">Formations</a></li>
               <li><a href="realisations.html" title="">R&eacute;alisations</a></li>
			   <li><a href="contact.php" title="">Contact</a></li>
           </ul>
		   <br>
			<div class="haut_menu">Curriculum Vitae</div>
			<ul>
			<li><a href="telecharger.php?pdf=CV.pdf" action="telecharger.php">T&eacute;l&eacute;charger (pdf)</a></li>
			</ul>
		   <br>
			<div class="haut_menu">Liens</div>
			<br></br>
			<ul>
			<a href="http://www.cesi-entreprises.fr/produit-gestionnaire-en-maintenance-et-support-informatique-19.asp" target="_blank" title="Formation GMSI"><h1><b>GMSI</b></h1></a>
			<br></br>
			<a href="http://www.cesi.fr" target="_blank" title="Ecole de formation - CESI"><img src="images/cesi.png" style="border:none"></a>
			<br></br>
			<a href="http://www.orange.fr" target="_blank" title="Portail Orange"><img src="images/orange.png" style="border:none"></a>
			</ul>
<!-- Fin Menu -->		

	
</div><!-- Fin Colonne de Gauche --> 
	   
<div id="right"><!-- Colonne de Droite -->
<img style="display:block; position:absolute; left:465px; top:70px;" src="images/at.gif" width="80" alt="">

<img src="images/env.jpg" width="596" height="196" alt=""/><!-- Image de bienvenue -->

<div class="news">Contact</div><div class="fond_contenu1"><!--  Cadre News --> 
 
</br>


                <td ><p><span class="Titre">Me contacter </span><br></p>
					<p align="center" class="Texte-mise-en-valeur"><strong>En remplissant le formulaire ci-dessous :</strong></p><br>
						
					<form method="post" action="verif_contact.php" onSubmit="return valider_formulaire(this)">
						<fieldset id="coordonnees" class='Menu'>
							<p>
							<table width='100%' border='0' cellspacing='1' cellpadding='1'>
							<tr><td>&nbsp;</td></tr>
							<tr><td colspan='2'><span class='txterror'>Les champs marqués d'un * sont obligatoires</span></td></tr>
							<tr><td>&nbsp;</td></tr>
							<td align='right' width='30%'><span class='txtform'>Civilit&eacute * :</span></td><td><input type="radio" name="civilite" value="M." />M.<input type="radio" name="civilite" value="Mlle" />Mlle<input type="radio" name="civilite" value="Mme" />Mme
							</td>
							<tr><td>&nbsp;</td></tr>
							</p>
							<p><tr><td align='right' width='30%'><span class='txtform'>Nom* :</span></td><td><input type='text' style='width:200 ;' name='nom' value='' size='24' border='0'></td></tr></p>
							<tr><td>&nbsp;</td></tr>
							<p><tr><td align='right' width='30%'><span class='txtform'>Pr&eacute;nom* :</span></td><td><input type='text' style='width:200 ;' name='prenom' value='' size='24' border='0'></td></tr></p>
							<tr><td>&nbsp;</td></tr>
							<p><tr><td align='right' width='30%'><span class='txtform'>mail* :</span></td><td><input type='text' style='width:200 ;' name='mail' value='' size='24' border='0'></td></tr><tr></p>
							<tr><td>&nbsp;</td></tr>
							<p><tr><td align='right' width='30%'><span class='txtform'>Objet* :</span></td><td><input type='text' style='width:200 ;' name='objet' value='' size='24' border='0'></td></tr></p>
							<tr><td>&nbsp;</td></tr>
							<p><tr><td align='right' width='30%'><span class='txtform'>Message* :</span></td><td><textarea style='width:360 ;' name='message' rows='6' cols='40'></textarea></td></tr></p>
							<tr><td>&nbsp;</td></tr>
							<p><td align='right' width='30%'><span class='txtform'></span></td><td><img src="verif_code_gen.php" alt="Code de verification" /></td></p>
							<tr><td>&nbsp;</td></tr>	
							<p><td><label><a>Enter le code de l'image ci-dessus</a></label></td>
							<td><input type="text" name="verif_code" autocomplete="off"/></td></p>
							<p id="buttons">
							<tr><td>&nbsp;</td></tr>
							<td align='right' width='30%'><input type="submit" value="Envoyer" /></td>
							<td><input type="reset" value="Recommencer" /></td>
							</table>
							</p>
						</fieldset>
					</form>
					<br>
					<br/>
						
				</td>

</div><!--  Fin Cadre de News --> 
</div><!-- Fin Colonne de Droite -->
</div><!-- Fin Contenu -->
<div id="pied"></div> </div>
<!-- mention de copyright Ne pas retirer sans autorisation &eacutecrite -->
<div class="copyright">©<a href=""> http://www.simon-mars-cv-info.fr</a> 2011 | Design by<a href="http://www.kitgraphiquegratuit.org" onclick="window.open(this.href); return false;" title="kits gratuits" > Kitgraphiquegratuit.org</a></div>

<!-- mention de copyright Ne pas retirer sans autorisation &eacute;crite -->	
</body><script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-22392741-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>

</html>
fichier verif_code_gen.php
<?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&eacutefinit le header de la page pour la transformer en image
header ("Content-type: image/png");
// Là, on crée notre image
$_img = imagecreatefrompng('images/verif.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&eacutee la variable qui contiendra le nombre al&eacuteatoire #####
$i = 0;
while($i < $nbr_chiffres) {
        $chiffre = mt_rand(0, 9); // On g&eacutenère le nombre al&eacuteatoire
        $chiffres[$i] = $chiffre;
        $i++;
}
$nombre = null;
// On explore le tableau $chiffres afin d'y afficher toutes les entr&eacutees qui s'y trouvent
foreach ($chiffres as $caractere) {
        $nombre .= $caractere;
}
##### On a fini de cr&eacuteer le nombre al&eacuteatoire, on le rentre maintenant dans une variable de session #####
$_SESSION['aleat_nbr'] = $nombre;
// On d&eacutetruit les variables inutiles :
unset($chiffre);
unset($i);
unset($caractere);
unset($chiffres);

imagestring($_img, 5, 18, 8, $nombre, $avant_plan);

imagepng($_img);
?>
fichier verif_contact.php
<?php session_start(); ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>page de contacte</title>
<link rel="shortcut icon" href="favicon.ico" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<meta http-equiv="content-language" content="fr" />
<meta name="robots" content="all" />
	<meta name="title" content="Cv et présentation de Simon Mars technicien et gestionnaire informatique et réseau"/>
	<meta name="author" content="Simon MARS"/>
	<meta name="description" content="Page de vérification de contacte du portfolio de Simon MARS, technicien informatique et réseau."/>
	<meta name="keywords" content="Simon, MARS, cv, technicien, informatique, réseau, maintenance, bureautique, support, gestionnaire, gestion, parc, assistance, expériences, professionnel, portfolio"/>
<link href="style.css"	title="D&eacute;faut" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>

<div id="conteneur"><!-- Conteneur Global -->
<div id="header"></div><!-- Header -->
<div id="contenu"><!-- Contenu -->
<div id="left"><!-- Colonne de Gauche -->	
<!-- Menu -->
<div class="haut_menu">Menu</div>
           <ul>
               <li><a href="index.html" title="">Accueil</a></li>
               <li><a href="competences.html" title="">Comp&eacute;tences</a></li>
               <li><a href="experience.html" title="">Exp&eacute;riences</a></li>
               <li><a href="formations.html" title="">Formations</a></li>
               <li><a href="realisations.html" title="">R&eacute;alisations</a></li>
			   <li><a href="contact.php" title="">Contact</a></li>
           </ul>
		   <br>
			<div class="haut_menu">Curriculum Vitae</div>
			<ul>
			<li><a href="telecharger.php?pdf=CV.pdf" action="telecharger.php">T&eacute;l&eacute;charger (pdf)</a></li>
			</ul>
		   <br>
			<div class="haut_menu">Liens</div>
			<br></br>
			<ul>
			<a href="http://www.cesi-entreprises.fr/produit-gestionnaire-en-maintenance-et-support-informatique-19.asp" target="_blank" title="Formation GMSI"><h1><b>GMSI</b></h1></a>
			<br></br>
			<a href="http://www.cesi.fr" target="_blank" title="Ecole de formation - CESI"><img src="images/cesi.png" style="border:none"></a>
			<br></br>
			<a href="http://www.orange.fr" target="_blank" title="Portail ORANGE"><img src="images/orange.png" style="border:none"></a>
			</ul>
<!-- Fin Menu -->		

	
</div><!-- Fin Colonne de Gauche --> 
	   
<div id="right"><!-- Colonne de Droite -->

<img src="images/welcome.jpg" width="596" height="196" alt=""/><!-- Image de bienvenue -->

<div class="news">Contact</div><div class="fond_contenu3"><!--  Cadre News -->
<br></br><br></br><br></br><br></br><br></br><br></br>

<?php
		
			
if(IsSet($_POST['verif_code']) AND !Empty($_POST['verif_code'])) // Le champ du code de confirmation a été rempli
		{ 
		
			if($_POST['verif_code']==$_SESSION['aleat_nbr']) // Si le champ est égal au code généré par l'image
			{ 
				if (($_POST["nom"])&&($_POST["prenom"])&&($_POST["mail"])&&($_POST["objet"])&&($_POST["message"]))
				{
					$msg = "Civilit&eacute \t".$_POST['civilite']."\n";
					$msg .= "Nom : \t".$_POST['nom']."\n";
					$msg .= "Pr&eacutenom : \t".$_POST['prenom']."\n";
					$msg .= "Adresses E-Mail : \t".$_POST['mail']."\n";
					$msg .= "Sujet : \t".$_POST['objet']."\n";
					$msg .= "Message : \t".$_POST['message']."\n";
				
				
				
					$recipient = "[email protected]"; //On met l'adresse email ou on veut recevoire le mail
					$subject = "Formulaire de CONTACT"; //On met le sujet du mail
					
					
    
				
    
					mail($recipient, $subject, $msg); 
	 
	 
					// message confirmation que le mail a bien &eacutet&eacute envoy&eacute    
		
					  
					echo "<HTML><HEAD>";
					echo "<TITLE>Formulaire envoyer!</TITLE></HEAD>";
					echo "<BODY background='fond_envoi.jpg' >";
					// Là, on affiche toute la source g&eacuten&eacuter&eacutee
					echo "<H1 align=center>Merci $civilite $prenom $nom </H1>";
					echo "<P align=center>";
					echo "Votre formulaire a bien &eacute;t&eacute; envoy&eacute; !</P>";
					echo "<meta http-equiv='refresh' content='3;url=http://simon-mars-cv-info.fr/index.html' />";
					echo "</BODY></HTML>";		
					echo "<meta http-equiv='refresh' content='3;url=http://simon-mars-cv-info.fr/index.html' />";
				}
				else
				{
					echo "<HTML><HEAD>";
					echo "<TITLE>Formulaire envoyer!</TITLE></HEAD>";
					echo "<BODY background='welcome3.jpg' >";
					// Là, on affiche toute la source g&eacuten&eacuter&eacutee :
					echo "<H1 align=center>$civilite $prenom $nom </H1>";
					echo "<P align=center>";
					echo "Au moins un des champs n'ont pas &eacute;t&eacute; correctements remplis !</P>";?>
					<br></br><a href="<?php echo $_SERVER['HTTP_REFERER']; ?>"><P align="center">Retour</p></a><?php
					echo "</BODY></HTML>";
				}
			}
			else 
			{
					echo "<HTML><HEAD>";
					echo "<TITLE>Formulaire envoyer!</TITLE></HEAD>";
					echo "<BODY background='welcome3.jpg' >";
					// Là, on affiche toute la source g&eacuten&eacuter&eacutee :
					echo "<H1 align=center>$civilite $prenom $nom </H1>";
					echo "<P align=center>";
					echo "Votre code de confirmation n'est pas bon !</P>";?>
					<br></br><a href="<?php echo $_SERVER['HTTP_REFERER']; ?>"><P align="center">Retour</p></a><?php
					echo "</BODY></HTML>"; 
			}     
	
		}	
     	else 
		{
				echo "<HTML><HEAD>";
				echo "<TITLE>Formulaire envoyer!</TITLE></HEAD>";
				echo "<BODY background='welcome3.jpg' >";
				// Là, on affiche toute la source g&eacuten&eacuter&eacutee :
				echo "<H1 align=center>$civilite $prenom $nom </H1>";
				echo "<P align=center>";
				echo "Vous devez remplir tous les champs !</P>";?>
				<br></br><a href="<?php echo $_SERVER['HTTP_REFERER']; ?>"><P align="center">Retour</p></a><?php
				echo "</BODY></HTML>"; 
   
		}


	

?>

</div><!--  Fin Cadre de News --> 
</div><!-- Fin Colonne de Droite -->
</div><!-- Fin Contenu -->
<div id="pied"></div></div>
<!-- mention de copyright Ne pas retirer sans autorisation &eacutecrite -->
<div class="copyright">©<a href=""> http://www.simon-mars-cv-info.fr</a> 2011 | Design by<a href="http://www.kitgraphiquegratuit.org" onclick="window.open(this.href); return false;" title="kits gratuits" > Kitgraphiquegratuit.org</a></div>
<br></br>
<!-- mention de copyright Ne pas retirer sans autorisation écrite -->	
</body>
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-22392741-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</html>
merci