Probleme de cryptage MD5

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 : Probleme de cryptage MD5

Re: Probleme de cryptage MD5

par Aureusms » 22 déc. 2011, 00:00

Si je reprend ton code en enlevant ce que je n'ai pas besoin pour l'explication:
...
       if($_POST['password']==$_POST['passverif'])
                {
                        if(strlen($_POST['password'])>=6)
                        {
                                if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
                                {
                                        if($dn['nb']==0 or $_POST['username']==$_SESSION['username'])
                                        {
                                                //On modifie les informations de lutilisateur avec les nouvelles
                                                if(mysql_query('update users set username="'.$username.'", password="'.$password.'", email="'.$email.'" where id="'.mysql_real_escape_string($_SESSION['userid']).'"'))
                                                {
J'obtiens :
1. Si le password est validé
2. Si le password a une longueur >= 6
3. Si l'email ressemble à un email (a propos: je te conseille plutôt d'utiliser les filtres si tu travailles sous PHP 5)
4. Si le tableau $dn avec la clé 'nb' =0 ou que le formulaire posté 'username' est l'username de session
5. Alors modification du password

Probleme de cryptage MD5

par zerodegre » 21 déc. 2011, 22:21

Bonsoir

voila dans le bout de code ci dessous en faite des que je valide le formulaire sans avoir changer les pass il me les changent quand meme et cela autant de fois que je valide





<?php
//On verifie si lutilisateur est connecte
if(isset($_SESSION['username']))
{
	//On verifie si le formulaire a ete envoye
	if(isset($_POST['username'], $_POST['password'], $_POST['passverif'], $_POST['email'],$_POST['website']))
	{
		//On enleve lechappement si get_magic_quotes_gpc est active
		if(get_magic_quotes_gpc())
		{
			$_POST['username'] = stripslashes($_POST['username']);
			$_POST['password'] = stripslashes($_POST['password']);
			$_POST['passverif'] = stripslashes($_POST['passverif']);
			$_POST['email'] = stripslashes($_POST['email']);
			$_POST['website'] = stripslashes($_POST['website']);


		}
		
		//On verifie si le mot de passe et celui de la verification sont identiques
		if($_POST['password']==$_POST['passverif'])
		{
			//On verifie si le mot de passe a 6 caracteres ou plus
			if(strlen($_POST['password'])>=6)
			{
				//On verifie si lemail est valide
				if(preg_match('#^(([a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+\.?)*[a-z0-9!\#$%&\\\'*+/=?^_`{|}~-]+)@(([a-z0-9-_]+\.?)*[a-z0-9-_]+)\.[a-z]{2,}$#i',$_POST['email']))
				{
					//On echape les variables pour pouvoir les mettre dans une requette SQL
					$username = mysql_real_escape_string($_POST['username']);
					$password = mysql_real_escape_string(md5($_POST['password']));
					$email = mysql_real_escape_string($_POST['email']);
				    $website = mysql_real_escape_string($_POST['website']);
			


					//On verifie sil ny a pas deja un utilisateur inscrit avec le pseudo choisis
					$dn = mysql_fetch_array(mysql_query('select count(*) as nb from users where username="'.$username.'"'));
					//On verifie si le pseudo a ete modifie pour un autre et que celui-ci n'est pas deja utilise
					if($dn['nb']==0 or $_POST['username']==$_SESSION['username'])
					{
						//On modifie les informations de lutilisateur avec les nouvelles
						if(mysql_query('update users set username="'.$username.'", password="'.$password.'", email="'.$email.'" where id="'.mysql_real_escape_string($_SESSION['userid']).'"'))
						{
							//Si ca a fonctionne, on naffiche pas le formulaire
							$form = true;
							
?>



<form action="?page=editer_profil" method="post">




<table width="800" border="0" align="center">
<tr>
      <td width="75%" class="alt1"><font face="Verdana" ><font color="white"><img src="./images/punaise.png"></font><font color="red"> Nom d'utilisateur :</font></td>
      <td align="left" width="55%" class="alt2"><input type="text" name="username" id="username" value="<?php echo $username; ?>" /></td>
    </tr>
	
	<tr>
     <td width="75%" class="alt1"><font face="Verdana" ><font color="white"><img src="./images/punaise.png"></font><font color="red"> Mot de passe (6 caract&egrave;res min.) :</font></td>
      <td align="left"  class="alt2"><input type="password" name="password" id="password" value="<?php echo $password; ?>" /></td>
     </tr>
	 
	 <tr>
     <td width="75%" class="alt1"><font face="Verdana" ><font color="white"><img src="./images/punaise.png"></font><font color="red"> Confirmez votre Mot du passe :</font></td>
      <td align="left"  class="alt2"><input type="password" name="passverif" id="passverif" value="<?php echo $password; ?>" /></td>
     </tr>
	 
	  <tr>
     <td width="75%" class="alt1"><font face="Verdana" ><font color="white"><img src="./images/punaise.png"></font><font color="red"> Votre email :</font></td>
      <td align="left"  class="alt2"><input type="text" size="30" name="email" id="email" value="<?php echo $email; ?>" /></td>
     </tr>
	 
	  <tr>
     <td width="75%" class="alt1"><font face="Verdana" ><font color="white"><img src="./images/punaise.png"></font><font color="red"> Votre site web :</font></td>
      <td align="left"  class="alt2"><input type="text" size="35" name="website" id="website" value="<?php echo $website; ?>" /></td>
     </tr>
	 <table width="800" border="0" align="center">
	 <tr><td>&nbsp;</td></tr>
	  <tr><td align="center">
<input type="submit" value="Envoyer" />

</td></tr>

</table>