// Insertion du nouvel utilisateur & cryptage de $mdp
$sql = "INSERT INTO gesten_utilisateur(ID_UTILISATEUR, NOM, PRENOM, PSEUDO, MOT_DE_PASSE, MAIL) VALUES('','$nom','$prenom','$login_aj', AES_ENCRYPT('. $mdp_aj .', '. $cle .'), '$mail')";
mysql_query($sql) or die('Impossible d\'inserer les valeurs dans la table notes');
dans la partie UPDATE aussi :// Requete pour la modification & cryptage de $mdp_aj
$sql .= "UPDATE gesten_utilisateur
SET NOM='$nom', PRENOM='$prenom', PSEUDO='$login_aj', MOT_DE_PASSE= AES_ENCRYPT('. $mdp_aj .', '. $cle .'), MAIL='$mail' WHERE ID_UTILISATEUR= $id_utilisateur ";
$req = mysql_query($sql) or die('Impossible de modifier l\'utilisateur');
Par contre dans la partie SELECT avec DECRYPT c'est pas bon, quand je cré un nouvel utilisateur via un formulaire il crypte bien, l'utilisateur a le droit de rentrer mais je me suis rendu compte qu'en fait n'importe quel mot de passe etait validé comme bon si il reconnait le pseudo. ou alors le pseudo reste en mémoire.// Si tout est bon
$sql = "SELECT ID_UTILISATEUR, NOM, PRENOM, PSEUDO, AES_DECRYPT('". $mdp ."', '". $cle ."') AS MOT_DE_PASSE, MAIL FROM gesten_utilisateur WHERE PSEUDO = '".$pseudo."'";
echo $sql;
$req = mysql_query($sql) or die('Impossible de séléctionner les données dans la table users');
Ma requete dans phpmyadmin ne de donne que NULL avec le SELECTINSERT INTO gesten_utilisateur(ID_UTILISATEUR, NOM, PRENOM, PSEUDO, MOT_DE_PASSE, MAIL) VALUES('','nom','prenom','login_aj', AES_ENCRYPT('test', 'kakalouette') ,'[email protected]')
J'ai fait la même chose par le formulaire d'ajout : $sql = "INSERT INTO gesten_utilisateur(ID_UTILISATEUR, NOM, PRENOM, PSEUDO, MOT_DE_PASSE, MAIL) VALUES('','$nom','$prenom','$login_aj', AES_ENCRYPT('. $mdp_aj .', '. $cle .') ,'$mail')";
mysql_query($sql) or die('Impossible d\'inserer les valeurs dans la table notes');
Je précise que la cle est : kakalouetteSELECT ID_UTILISATEUR, NOM, PRENOM, PSEUDO, AES_DECRYPT('test', 'kakalouette') AS MOT_DE_PASSE, MAIL FROM gesten_utilisateur WHERE PSEUDO = 'login_aj'
La valeur retournépour MOT_DE_PASSE est NULL
... WHERE PSEUDO = 'login_aj'
pas de test sur le mot de passe !!... WHERE PSEUDO = 'login_aj' AND MOT_DE_PASSE=AES_DECRYPT('test', 'kakalouette')$mdp_crypt = "SELECT AES_ENCRYPT('". $mdp ."', '". $cle ."') AS MOT_DE_PASSE FROM gesten_utilisateur";
et ma requete de verification qui serait :SELECT ID_UTILISATEUR, NOM, PRENOM, PSEUDO, MOT_DE_PASSE, MAIL FROM gesten_utilisateur WHERE PSEUDO = '".$pseudo."' AND MOT_DE_PASSE = '".$mdp_crypt."'";
Ca serait ca ?<?php
$sql = "SELECT ID_UTILISATEUR, NOM, PRENOM, PSEUDO, MOT_DE_PASSE, MAIL
FROM gesten_utilisateur
WHERE PSEUDO = '". $pseudo ."'
AND MOT_DE_PASSE = AES_ENCRYPT('". $mdp ."', '". $cle ."')";
?>$sql = "SELECT *
FROM gesten_utilisateur
WHERE PSEUDO = '". $pseudo ."'
AND MOT_DE_PASSE = AES_ENCRYPT('". $mdp ."', '". $cle ."')";
ce qui marche enfin je croyais (ecrit en fixe) :$sql = "SELECT *
FROM gesten_utilisateur
WHERE PSEUDO = '". $pseudo ."'
AND MOT_DE_PASSE = '„6sŽcÃBàô¸bñø¤—' ";
Dans le deuxième cas le mot de passe n'est plus verifié et donc n'importe quoi passe.