Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/10/2011, 14h29   #1
 
Homme vincent
Apprenti php
Inscription : juillet 2011
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme vincent
Localisation : France

Informations professionnelles :
Activité : Apprenti php

Informations forums :
Inscription : juillet 2011
Messages : 21
Points : -1
Points : -1
Par défaut Problème cryptage de verman

Bonsoir mon cryptage de vernam ne marche pas et je ne vois ou est le probleme.

Merci de m'aider

page d'inscription (page de cryptage):
Code :
<?php session_start(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >    <head>        <title>Poliboolold-groupe</title>        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />        <link rel="stylesheet" media="screen" type="text/css" title="poli2" href="stylemembres.css" />            </head>      <body> <div id="actu"> <img src="btn_inscrivez_vous.gif" alt="inscrivez_vous"/> <br/> <h1>Mais pourquoi<img src="pointdinterro.jpg" alt="?"/></h1> <p>La communauté de poliboolold.fr est basée sur l'auto-gération : c'est a dire les personnes administrateurs du site(=les fondateurs) ne passe pas son temps a bannir les gens. Afin de garentir une certaine organisation , nous obligeons au personnes désireuses d'utiliser nos services de s'inscrire.</p> <hr/> <h1>Inscription a l'espace membre</h1> <?php  try { $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;    			 $bdd = new PDO('mysql:host=;dbname=', '', '', $pdo_options);  	 	if(isset ($_SESSION['id']) AND isset($_SESSION['pseudo'])) 	{           ?> 		<p><strong>Les multis-comptes n'etant pas autorisée vous ne pouvez pas vous ré-inscrire</strong></p> <?php 	} 	elseif(!isset( $_POST['pseudo'])AND !isset( $_POST['mdp']) AND !isset( $_POST['mdpdouble']) AND !isset( $_POST['email'])) 	{ 		?> 			<form method="post" action="membres_inscription.php"> 			 			<p> 			Entrez un pseudo compris entre 4 et 20 caractères <input type="text" name="pseudo"/><span><?php if($_GET['pris']==1){echo"Votre pseudo est déja pris";} ?></span><span><?php if($_GET['pseudo']==1){echo"Votre pseudo est trop court ou trop long";} ?></span><br/> 			Entrez un mot de passe sécuritaire <input type="password" name="mdp"/><br/> 			Retapez le mot de passe a l'identique <input type="password" name="mdpdouble"/><span><?php if($_GET['erreur']==1){echo"Mot de passe non identique";} ?></span><br/> 			Entrez votre adresse e-mail valide <input type="text" name="email"/><span><?php if($_GET['mail']==1){echo"L'adresse email n'est pas valide ou déja inscrite";} ?></span><br/>                         Entrez le nom de votre mère:<input type="text" name="verman"/><span><?php if($_GET['verman']==1){echo"Vous n'avez pas rentré de nom";} ?></span><br/>                   <?php require('captcha.php'); ?><label for="captcha">Recopiez le mot : "<?php echo captcha(); ?>"</label> 			<input type="text" name="captcha" id="captcha" /><br />  			<strong> En vous inscrivant vous acceptez les CGU disponible <a href="../cgu.php" >ici</a></strong><br/> 			<input type="submit" value="Valider" />  <?php 	}  	elseif($_POST['mdp']== $_POST['mdpdouble']) 	{           if(!empty($_POST['verman'])) { 	 include("verman.php");             $cript=Cryptage($_POST['mdp'],$_POST['verman']);      		   $pass_hacher = sha1($_POST['mdp']);   		$req= $bdd->prepare('SELECT id FROM membres WHERE pseudo=:pseudo AND pass=:pass'); 		$req->execute(array('pseudo'=> $_POST['pseudo'],'pass'=> $pass_hacher)); 		$resultat= $req->fetch();  					 		if(!$resultat) 		{                 $req2= $bdd->prepare('SELECT id FROM membres WHERE email=:email'); 		$req2->execute(array('email'=> $_POST['email'])); 		$resultat= $req2->fetch();   		if(preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email']) AND !$resultat) 			{                              $phrase = $_POST['pseudo'];                             $longueur = strlen($phrase);                       if(!empty($_POST['pseudo']) && 4 < $longueur && $longueur < 20 ) 				{                                $pass_hache = sha1($_POST['mdp']); 			$requete = $bdd->prepare('INSERT INTO membres(pseudo, pass, email, date_inscription,modo,actif,verman) VALUES(:pseudo, :pass, :email, CURDATE(),0,0,:verman)'); 			$requete->execute(array('pseudo'=> $_POST['pseudo'], 'pass'=> $pass_hache, 'email'=> $_POST['email'], 'verman'=> addslashes($cript)));                         $requete->closeCursor(); 			?>                         <p>Félicitations vous etes inscrit : <a href="../index.php">Retournez a l'accueil</a></p> 			<p>Vous allez recevoir un mail pour valider votre inscription , <strong>Attention il peut se trouver dans les couriers indisérables</strong></p>                         <?php                        echo $_POST['pseudo'];                        $actif=$bdd->prepare('INSERT INTO code_actif(id) VALUES (:id)');                        $actif->execute(array('id'=>$_POST['pseudo']));                        $actif->closeCursor();                          $actif2 = $bdd->prepare('SELECT * FROM code_actif WHERE id=?');                         $actif2->execute(array($_POST['pseudo']));                         $actif3 = $actif2->fetch();                              $_SESSION['actif']=$_POST['pseudo'];                        $Name = "Poliboolold.fr"; //senders name                        $email = "poliboolold@gmail.com"; //senders e-mail adress                        $recipient = $_POST['email']; //recipient                        $mail_body = "Votre code d'activation est le: ".$actif3['code'].". Allez sur:www.poliboolold.fr/membres/actif.php"; //mail body                        $subject = "Validation de votre compte"; //subject                        $header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields                          mail($recipient, $subject, $mail_body, $header); //mail command :)                            			  				}                           else                          {                            header('Location: membres_inscription.php?pseudo=1'); }  			}                         else                         {                         header('Location: membres_inscription.php?mail=1');                         } 		}                 else                 {                 header('Location: membres_inscription.php?pris=1');                 } 	}         else 	{ header('Location: membres_inscription.php?verman=1'); 	}     } 	else 	{ header('Location: membres_inscription.php?erreur=1'); 	} }  catch(Exception $e) { die('Erreur : '.$e->getMessage()); } ?> </div>               </body> </html>
page de la fonction:
Code :
<?php   function Cryptage($MDP, $Clef){ 						 	$LClef = strlen($Clef); 	$LMDP = strlen($MDP); 						 	if ($LClef < $LMDP){ 				 		$Clef = str_pad($Clef, $LMDP, $Clef, STR_PAD_RIGHT); 	 	} 				 	elseif ($LClef > $LMDP){  		$diff = $LClef - $LMDP; 		$_Clef = substr($Clef, 0, -$diff);  	} 			 	return $MDP ^ $Clef; // La fonction envoie le texte crypté 			 }  ?>
page de decryptage:
Code :
<!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" >    <head>        <title>poliboolold.fr</title>        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />    </head>    <body>  <?php 	 try 	{         	 if(!isset($_POST['pseudo']) && !isset($_POST['clef'])) 			{ 				?>      				<form method="post" action="mdp_oubli.php">    				<p> 				><span><?php if($_GET['vide']==1){echo"Merci de remplir tout les champs.";} ?></span><br/> 				<label>Entrez votre pseudo</label><input type="text" name="pseudo" /><span><?php if($_GET['pseudo']==1){echo"Ce n'est pas le bon pseudo";} ?></span><br/> 				<label>Quelle est le nom de votre mère?</label><input type="text" name="clef" /><span><?php if($_GET['verman']==1){echo"Vous vous etes trompé de nom";} ?></span><br/> 				<input type="submit"/><br/> 				</p> 				</form> 				<?php  			} 		else 			{ echo"Hello";  				if(!empty($_POST['pseudo']) && !empty($_POST['clef'])) 					{      						$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; 						$bdd = new PDO('mysql:host=;dbname=','','',$pdo_options);  						 						$req = $bdd->prepare('SELECT * FROM membres WHERE pseudo = ?'); 						$req->execute(array($_POST['pseudo'])); 						$req2 = $req->fetch(); 						$req->closeCursor();   						if($req2) 							{       								include("verman.php"); 								$cript=Cryptage($req2['verman'],$_POST['clef']);                                                                 header('Location: membres_inscription.php'); 								if($cript==$req2['pass']) 									{ 										echo"Votre mot de passe est le: ".$req2['pass']; 									} 								else 									{ 										header('Location: mdp_oubli.php?verman=1');	 									} 							} 						else 							{ 								header('Location: mdp_oubli.php?pseudo=1'); 							} 					} 				else 					{ 						header('Location: mdp_oubli.php?vide=1');	 					}   			} } catch(PDOException $e) 	{ 		echo '<p>Erreur PDO dans '.$e->getFile().' L.'.$e->getLine().' : <br/> '.$e->getMessage().'<br /></p>'; 	} ?>	  </body> </html>
Tout ceci est associé a un espage membre (page de cryptage=page d'inscription , page de decryptage =page de récupération du mot de passe en cas d'oubli).

Merci d'avance
kikou732 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h39.


 
 
 
 
Partenaires

Hébergement Web