par
naholyr » 13 juin 2005, 12:48
Au lieu de
if (empty($_POST['id'])==true || empty($_POST['Password'])==true)
{
echo "Echec de l'ouverture de session, vous devez saisir votre login et votre mot de passe";
}
// on crée la requête SQL, pour ensuite l'envoyer
else
{
$requete = "SELECT id, Password FROM client WHERE id ='".$id."' AND Prenom='".$Password."'";
$test = mysql_query($requete,$connexion) or die('Erreur SQL !'.$requete.''.mysql_error());
$lignes = mysql_num_rows($test);
if ($lignes<1)
{
$erreur="Erreur Login ou Mot de Passe incorrect";
$Password="";
return false;
}
else
{
$res=mysql_fetch_row($result);
if ($res[0]==$id && $res[1]==$Password)
{
return true;
}
else
{
$erreur="Erreur Login ou Mot de Passe incorrect";
$Password="";
return false;
}
} //fin du deuxième "else"
}//fin du premier "else"
Déjà, je ferais plutôt
if (!isset($_POST['id']) || !isset($_POST['Password']) || empty($_POST['id']) || empty($_POST['Password'])) {
echo "Echec de l'ouverture de session, vous devez saisir votre login et votre mot de passe";
}
// on crée la requête SQL, pour ensuite l'envoyer
else {
$requete = "SELECT id, Password FROM client WHERE id ='".$id."' AND Prenom='".$Password."'";
$test = mysql_query($requete,$connexion) or die('Erreur SQL !'.$requete.''.mysql_error());
$res = mysql_fetch_row($result);
if ($res && $res[0]==$id && $res[1]==$Password) {
return true;
}
else {
$erreur="Erreur Login ou Mot de Passe incorrect";
return false;
}
}
Et je dirais que c'est bien suffisant. La personne qui se trompe n'a pas à savoir si le login existe ou non, elle a juste besoin de savoir que ce mot de passe ne correspond pas à ce login. Savoir si le login existe ou non, c'est une première information pour hacker un compte

Au lieu de [php] if (empty($_POST['id'])==true || empty($_POST['Password'])==true)
{
echo "Echec de l'ouverture de session, vous devez saisir votre login et votre mot de passe";
}
// on crée la requête SQL, pour ensuite l'envoyer
else
{
$requete = "SELECT id, Password FROM client WHERE id ='".$id."' AND Prenom='".$Password."'";
$test = mysql_query($requete,$connexion) or die('Erreur SQL !'.$requete.''.mysql_error());
$lignes = mysql_num_rows($test);
if ($lignes<1)
{
$erreur="Erreur Login ou Mot de Passe incorrect";
$Password="";
return false;
}
else
{
$res=mysql_fetch_row($result);
if ($res[0]==$id && $res[1]==$Password)
{
return true;
}
else
{
$erreur="Erreur Login ou Mot de Passe incorrect";
$Password="";
return false;
}
} //fin du deuxième "else"
}//fin du premier "else" [/php]
Déjà, je ferais plutôt[php]if (!isset($_POST['id']) || !isset($_POST['Password']) || empty($_POST['id']) || empty($_POST['Password'])) {
echo "Echec de l'ouverture de session, vous devez saisir votre login et votre mot de passe";
}
// on crée la requête SQL, pour ensuite l'envoyer
else {
$requete = "SELECT id, Password FROM client WHERE id ='".$id."' AND Prenom='".$Password."'";
$test = mysql_query($requete,$connexion) or die('Erreur SQL !'.$requete.''.mysql_error());
$res = mysql_fetch_row($result);
if ($res && $res[0]==$id && $res[1]==$Password) {
return true;
}
else {
$erreur="Erreur Login ou Mot de Passe incorrect";
return false;
}
}[/php]
Et je dirais que c'est bien suffisant. La personne qui se trompe n'a pas à savoir si le login existe ou non, elle a juste besoin de savoir que ce mot de passe ne correspond pas à ce login. Savoir si le login existe ou non, c'est une première information pour hacker un compte ;)