petit probleme de md5

Répondre
SiM07
le 25/02/2005 à 20:52
SiM07
je n'arrive pas a mettre les mot de passe en md5.

Voici comment j'insere :
$sqlpwd = 'INSERT INTO membres VALUES("", "'.$_POST['pseudo'].'", "'.$_POST['password'].'")';


Comment je fait pour codé le pass ? et aussi lorsque je l'appelle pour le decodé ? car j'ai pas compris dans l'autre truc sur le site.

J'ai créer entierement mon espace membres mais la c problematique je n'arrive pas.

Merci
i M@N
le 25/02/2005 à 21:00
i M@N
Hello !
<?php 
/* <?php c'est pour faire plaisir à Rex ; )*/

/*tu récupères tes variables issues de $POST*/
if (isset($_POST["pseudo"])) $pseudo = $_POST["pseudo"];
if (isset($_POST["password"])) $password = $_POST["password"];

/*tu codes en md5*/
$password = md5($password);

/*tu fais ta requête*/
$sqlpwd = 'INSERT INTO membres VALUES("", "'.$pseudo.'", "'.$password.'")';

... etc

?>

@+...
One Love, One Heart, One Unity.
SiM07
le 25/02/2005 à 21:02
SiM07
et lorsque l'on appel ensuite ?

on fait pareil md5($blabla); ?
LA GLOBULE
le 25/02/2005 à 21:14
LA GLOBULE
I_Man, autant utiliser directement ton tableau $_POST sans redéclarer de variables.

<?php
if (isset($_POST["pseudo"]) && isset($_POST["password"])) {
// analyse des valeurs des deux champs

$sql = 'INSERT INTO membres VALUES("", "'.$_POST["pseudo"].'", "'.md5($_POST["pseudo"]).'")';

// ...
}
?>


Ensuite, tes mots de passes seront hachés dans ta base de données.

Donc, quand un membre remplira son formulaire de login, il tapera son mot de passe en clair.
Pour identifier ce membre, tu devras donc lancer une requete SQL en ayant auparavant haché en md5 le mot de passe saisi dans le formulaire.

Exemple :

<?php
$sql = 'SELECT id FROM membre WHERE login="'.$_POST['login'].'" AND passwd="'.md5($_POST['password']).'"';
?>


$_POST['login'] etant le nom de login saisi dans le formulaire d'identification ($_POST['password'] le mot de passe).
SiM07
le 25/02/2005 à 21:22
SiM07
Oui la je comprend mais je n'arrive pas a adapté voici mon code :

elseif (isset($_POST['login']) && isset($_POST['pwd'])) {

$loginsql = $_POST['login'];
//preparation de la requete
$sqlpwd = 'SELECT password FROM membres WHERE pseudo = "'.$loginsql.'"';
//requete
$reqpwd = mysql_query($sqlpwd) or die('ERREUR SQL !<br> '.$sqlpwd.'<br>'.mysql_error());
$data = mysql_fetch_array($reqpwd);

if ($password == $data['password']) {
$temps = 300;
setcookie ("pseudo", $_POST['login'], time() + $temps);
setcookie ("password", $_POST['pwd'], time() + $temps);
echo 'Cookie crée !'.'<meta http-equiv="refresh" content="0;URL=index.php">';
}

elseif ($password != $data['password']){
echo '<body onLoad="alert(\'Mot de passe ou login incorrect ! \')">'.'<meta http-equiv="refresh" content="1;URL=index.php">';
}
Rex
le 25/02/2005 à 22:20
Rex
hermm ... herrmmm ... chers PHPnautes, je vous invite à lire l'article La magie noire des apostrophes magiques et surtout l'explication sur l'injection SQL.

smiley
Un hamster dit : J'ai dressé le scientifique, quand j'appuie sur le bouton, il me donne des graines
keitarosan
le 25/02/2005 à 22:43
keitarosan
ouep, ca pas joli joli quand on voit ca ^^

On pourrait y rentrer comme dans un moulin, ou dans n'importe quel batiment public pendant les l'heures d'ouverture smiley
>> http://projectopensource.free.fr/index.php?m=2&m2=5&s=8 <<
Bzh
le 26/02/2005 à 00:28
Bzh
Bin la parcontre rex j' ai pas tout compris dans ton article...smiley

Tu dis,(si j' ai bien compris quelques petites choses tout de même), que les 'apostrophes magiques' peuvent protèger contre les injections SQL !!!

Sur ce point, j' ai vraiment du mal à te suivre...

Pour moi, les seules véritables protections sont :

=>addslash();
=>mysql_escape_string();

Pour l' exemple si dessu, je suis tout à fait d' accord sur le point qu' aucune protection contre les injections n' est utilisé !!!

Si tu pourrais déveulopper ta critique, dans ce cas là, des apostrophes, se serait sympa...

Ciao...
SiM07
le 26/02/2005 à 12:56
SiM07
Je suis d'accord avec les apostrophes mais cela ne resoud toujours pas mon probleme ! smiley

Par contre je vais m'ateler a la tache des apostrophe mais le fait d'interdire les caractère spéciaux ne serait ce pas suffisant ?
Répondre
LoadingChargement en cours